Chamar um webhook com um alerta de métrica clássico no Azure Monitor
Aviso
Este artigo descreve como utilizar alertas de métricas clássicas mais antigos. Agora, o Azure Monitor suporta alertas de métricas quase em tempo real e uma nova experiência de alertas. Os alertas clássicos são descontinuados para os utilizadores da cloud pública. Os alertas clássicos para Azure Government cloud e o Microsoft Azure operado pela 21Vianet serão descontinuados a 29 de fevereiro de 2024.
Pode utilizar webhooks para encaminhar uma notificação de alerta do Azure para outros sistemas para pós-processamento ou ações personalizadas. Pode utilizar um webhook num alerta para encaminhá-lo para serviços que enviam mensagens SMS, registar erros, notificar uma equipa através de serviços de chat ou mensagens ou para várias outras ações.
Este artigo descreve como definir um webhook num alerta de métricas do Azure. Também mostra o aspeto do payload do HTTP POST para um webhook. Para obter informações sobre a configuração e o esquema de um alerta do registo de atividades do Azure (alerta sobre eventos), veja Chamar um webhook num alerta do registo de atividades do Azure.
Os alertas do Azure utilizam HTTP POST para enviar os conteúdos do alerta no formato JSON para um URI de webhook que fornecer quando cria o alerta. O esquema é definido mais adiante neste artigo. O URI tem de ser um ponto final HTTP ou HTTPS válido. O Azure publica uma entrada por pedido quando um alerta é ativado.
Configurar webhooks através do portal do Azure
Para adicionar ou atualizar o URI do webhook, no portal do Azure, aceda a Criar/Atualizar Alertas.
Também pode configurar um alerta para publicar num URI de webhook com cmdlets Azure PowerShell, uma CLI para várias plataformas ou APIs REST do Azure Monitor.
Autenticar o webhook
O webhook pode autenticar com a autorização baseada em tokens. O URI do webhook é guardado com um ID de token. Por exemplo: https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
Esquema de payload
A operação POST contém o seguinte payload E esquema JSON para todos os alertas baseados em métricas:
{
"status": "Activated",
"context": {
"timestamp": "2015-08-14T22:26:41.9975398Z",
"id": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.insights/alertrules/ruleName1",
"name": "ruleName1",
"description": "some description",
"conditionType": "Metric",
"condition": {
"metricName": "Requests",
"metricUnit": "Count",
"metricValue": "10",
"threshold": "10",
"windowSize": "15",
"timeAggregation": "Average",
"operator": "GreaterThanOrEqual"
},
"subscriptionId": "s1",
"resourceGroupName": "useast",
"resourceName": "mysite1",
"resourceType": "microsoft.foo/sites",
"resourceId": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1",
"resourceRegion": "centralus",
"portalLink": "https://portal.azure.com/#resource/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
Campo | Obrigatório | Conjunto fixo de valores | Notas |
---|---|---|---|
status | Y | Ativado, Resolvido | O estado do alerta com base nas condições que definiu. |
contexto | Y | O contexto de alerta. | |
carimbo de data/hora | Y | A hora em que o alerta foi acionado. | |
ID | Y | Cada regra de alerta tem um ID exclusivo. | |
name | Y | O nome do alerta. | |
descrição | Y | Uma descrição do alerta. | |
conditionType | Y | Métrica, Evento | São suportados dois tipos de alertas: métrica e evento. Os alertas de métricas baseiam-se numa condição de métrica. Os alertas de eventos baseiam-se num evento no registo de atividades. Utilize este valor para verificar se o alerta se baseia numa métrica ou num evento. |
condição | Y | Os campos específicos a verificar com base no valor conditionType . | |
metricName | Para alertas de métricas | O nome da métrica que define o que a regra monitoriza. | |
metricUnit | Para alertas de métricas | Bytes, BytesPerSecond, Count, CountPerSecond, Percent, Seconds | A unidade permitida na métrica. Veja os valores permitidos. |
metricValue | Para alertas de métricas | O valor real da métrica que causou o alerta. | |
limiar | Para alertas de métricas | O valor de limiar no qual o alerta é ativado. | |
windowSize | Para alertas de métricas | O período de tempo utilizado para monitorizar a atividade de alertas com base no limiar. O valor tem de estar entre 5 minutos e 1 dia. O valor tem de estar no formato de duração ISO 8601. | |
timeAggregation | Para alertas de métricas | Média, Último, Máximo, Mínimo, Nenhum, Total | A forma como os dados recolhidos devem ser combinados ao longo do tempo. O valor predefinido é Média. Veja os valores permitidos. |
operador | Para alertas de métricas | O operador utilizado para comparar os dados de métricas atuais com o limiar definido. | |
subscriptionId | Y | O ID da subscrição do Azure. | |
resourceGroupName | Y | O nome do grupo de recursos do recurso afetado. | |
resourceName | Y | O nome do recurso afetado. | |
resourceType | Y | O tipo de recurso do recurso afetado. | |
resourceId | Y | O ID do recurso afetado. | |
resourceRegion | Y | A região ou localização do recurso afetado. | |
portalLink | Y | Uma ligação direta para a página de resumo de recursos do portal. | |
propriedades | N | Opcional | Um conjunto de pares chave/valor que tem detalhes sobre o evento. Por exemplo, Dictionary<String, String> . O campo de propriedades é opcional. Numa IU personalizada ou num fluxo de trabalho baseado em aplicações lógicas, os utilizadores podem introduzir pares chave/valor que podem ser transmitidos através do payload. Uma forma alternativa de transmitir propriedades personalizadas novamente para o webhook é através do próprio URI do webhook (como parâmetros de consulta). |
Nota
Só pode definir o campo de propriedades com as APIs REST do Azure Monitor.
Passos seguintes
- Saiba mais sobre os alertas e webhooks do Azure no vídeo Integrar alertas do Azure com o PagerDuty.
- Saiba como executar Automatização do Azure scripts (runbooks) em alertas do Azure.
- Saiba como utilizar uma aplicação lógica para enviar uma mensagem SMS através do Twilio a partir de um alerta do Azure.
- Saiba como utilizar uma aplicação lógica para enviar uma mensagem do Slack a partir de um alerta do Azure.
- Saiba como utilizar uma aplicação lógica para enviar uma mensagem para uma Fila do Azure a partir de um alerta do Azure.