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.

Adicionar um painel de regras de alerta

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