---
title: Azure Monitor
slug: aiops/azure-monitor
docTags: 
createdAt: 2025-07-03T12:34:53.302Z
---

## 1. Crie uma Regra de Alerta no Azure Monitor

1. **Acesse o Azure Portal**
   Entre no portal Azure usando suas credenciais.
2. **Navegue até Azure Monitor**
   No menu lateral, vá para **Monitor** > **Alertas**.
3. **Crie uma Nova Regra de Alerta**
   Clique em **Criar** > **Regra de alerta**.
4. **Selecione o Escopo**
   Escolha o recurso (ou grupo de recursos) que deseja monitorar.
5. **Defina a Condição**
   Adicione e configure a condição que deve disparar o alerta (por exemplo, uso de CPU acima de 80%).
6. **Configure as Ações**
   Na seção **Ações**, associe ou crie um grupo de ações para o alerta.

## 2. Crie um Grupo de Ações (Action Group)

1. **Acesse Action Groups**
   Em **Monitor** > **Alertas** > **Grupos de ações**, clique em **Criar**.
2. **Preencha os Dados Básicos**
   - **Assinatura**: Selecione a correta.
   - **Grupo de recursos**: Selecione ou crie.
   - **Nome do grupo de ações**: Dê um nome descritivo.
   - **Nome curto**: Usado para identificar rapidamente o grupo.
3. **Adicione uma Ação do Tipo Webhook**
   - **Tipo de ação**: Selecione **Webhook**.
   - **Nome**: Dê um nome para a ação.
   - **URI**: Insira a URL do endpoint que receberá os alertas.
     - O endpoint deverá ser:
     - `https://<DOMINIO_AIOPS>/services/collector/event`
   - **Autenticação**: Configure autenticação por token, se necessário.
     - Gere uma API Key no AIOPS e adicione à configuração.
4. **Salve o Grupo de Ações**
   Clique em **Revisar + criar** e depois em **Criar**.

## 3. (Opcional) Configure Secure Webhook para Autenticação Avançada

Se precisar de mais segurança:

1. **Registre uma Aplicação no Microsoft Entra ID**
   Siga o passo a passo do Azure para registrar uma aplicação.
2. **Defina um Service Principal**
   Crie um service principal para a aplicação registrada.
3. **Crie o Secure Webhook**
   No grupo de ações, adicione uma ação do tipo **Secure Webhook**.
   - **ID do objeto**: Use a ID da aplicação registrada.
   - **URI**: Insira a URL do endpoint.
   - **Habilite o Common Alert Schema** (opcional).

## 4. Adicione Middleware para Transformação do Payload

Como o Azure Monitor não permite personalizar totalmente o payload enviado pelo webhook, recomenda-se usar uma camada intermediária (como Azure Logic Apps ou Azure Functions) para transformar o JSON recebido no formato esperado pela sua ferramenta.

### Exemplo com Azure Logic Apps

1. **Crie um Logic App**
   - No portal Azure, vá para **Logic Apps** > **Criar**.
2. **Adicione um Trigger do Tipo Solicitação HTTP**
   - No designer, adicione o trigger **Quando uma solicitação HTTP é recebida**.
3. **Adicione uma Ação de Parse JSON**
   - Use a ação **Parse JSON** para ler o payload recebido do Azure Monitor.
4. **Adicione uma Ação Compose**
   - Utilize **Compose** para montar o JSON no formato esperado pela sua ferramenta, mapeando campos do payload do Azure para os campos do seu JSON.
5. **Adicione uma Ação HTTP**
   - Use a ação **HTTP** para enviar o JSON formatado para o endpoint final da sua ferramenta.
6. **Salve e Publique o Logic App**
   - Copie a URL do trigger HTTP e use-a como URI no grupo de ações do Azure Monitor.
7. **Exemplo de Transformação**

```json
{
  "start_date": "@{body('Parse_JSON')?['data']?['essentials']?['firedDateTime']}",
  "update_date": "@{utcNow()}",
  "device_id": "@{first(body('Parse_JSON')?['data']?['essentials']?['alertTargetIDs'])}",
  "adapter_type": "Azure Monitor",
  "device_type": "@{body('Parse_JSON')?['data']?['essentials']?['signalType']}",
  "device_name": "@{body('Parse_JSON')?['data']?['essentials']?['alertRule']}",
  "health": "@{body('Parse_JSON')?['data']?['essentials']?['monitorCondition']}",
  "impact": "@{body('Parse_JSON')?['data']?['essentials']?['severity']}",
  "criticality": "@{body('Parse_JSON')?['data']?['essentials']?['severity']}",
  "check": "@{body('Parse_JSON')?['data']?['essentials']?['description']}",
  "type": "@{body('Parse_JSON')?['data']?['essentials']?['signalType']}",
  "alert_id": "@{body('Parse_JSON')?['data']?['essentials']?['alertId']}",
  "status": "@{body('Parse_JSON')?['data']?['essentials']?['monitorCondition']}",
  "alert_url": "@{body('Parse_JSON')?['data']?['alertContext']?['linkToSearchResultsUI']}"
}
```

## 5. Teste a Integração

1. **Disparar um Alerta de Teste**
   - No grupo de ações, use a opção **Testar grupo de ações** para enviar um alerta de exemplo.
2. **Verifique o Recebimento no Endpoint Final**
   -

