Usar um webhook para configurar notificações de integridade para sistemas de gerenciamento de problemas

Este artigo mostra como configurar os alertas de Integridade do Serviço do Azure para enviar dados por meio de webhooks para seu sistema de notificação existente.

Você pode configurar alertas de Integridade do Serviço para notificação por mensagem de texto ou email quando um incidente de serviço do Azure afetar você.

No entanto, talvez você já tenha um sistema de notificação externo existente que deseja usar. Este artigo identifica as partes mais importantes do conteúdo de webhook. E descreve como criar alertas personalizados para notificar você quando ocorrerem problemas de serviço relevantes.

Caso deseje usar uma integração pré-configurada, confira:

Assistir a um vídeo de introdução:

Configurar uma notificação personalizada usando o conteúdo do webhook de Integridade do Serviço

Para configurar a sua integração de webhook personalizada, você precisará analisar o conteúdo do JSON que é enviado pela notificação de Integridade do Serviço.

Veja um exemplo de conteúdo de webhook de ServiceHealth.

É possível confirmar se esse é um alerta de integridade do serviço examinando context.eventSource == "ServiceHealth". As seguintes propriedades são as mais relevantes:

  • data.context.activityLog.status
  • data.context.activityLog.level
  • data.context.activityLog.subscriptionId
  • data.context.activityLog.properties.title
  • data.context.activityLog.properties.impactStartTime
  • data.context.activityLog.properties.communication
  • data.context.activityLog.properties.impactedServices
  • data.context.activityLog.properties.trackingId

Crie um link direto ao painel de Integridade do Serviço na área de trabalho ou no dispositivo móvel gerando uma URL especializada. Use trackingId e os três primeiros e os três últimos dígitos de sua subscriptionId neste formato:

https://app.azure.com/h/<trackingId>/<três primeiros e três últimos dígitos de subscriptionId>

Por exemplo, se a sua subscriptionId for bba14129-e895-429b-8809-278e836ecdb3 e a sua trackingId for 0DET-URB, a URL de Integridade do Serviço será:

https://app.azure.com/h/0DET-URB/bbadb3

Usar o nível para detectar a severidade do problema

Da severidade mais baixa para a mais alta, a propriedade Nível no conteúdo pode ser Informativo, Aviso, Erro ou Crítico.

Analisar os serviços afetados para determinar o escopo do incidente

Os alertas de Integridade do Serviço podem informar você sobre problemas em várias regiões e serviços. Para obter os detalhes completos, você precisa analisar o valor de impactedServices.

O conteúdo é uma cadeia de caracteres JSON com escape. Quando sem escape, contém outro objeto JSON que pode ser analisado normalmente. Por exemplo:

{"data.context.activityLog.properties.impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"Australia East\"},{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"Alerts & Metrics\"},{\"ImpactedRegions\":[{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"App Service\"}]"}

torna-se:

[
   {
      "ImpactedRegions":[
         {
            "RegionName":"Australia East"
         },
         {
            "RegionName":"Australia Southeast"
         }
      ],
      "ServiceName":"Alerts & Metrics"
   },
   {
      "ImpactedRegions":[
         {
            "RegionName":"Australia Southeast"
         }
      ],
      "ServiceName":"App Service"
   }
]

Este exemplo mostra problemas para:

  • "Alertas e Métricas" no Leste da Austrália e no Sudeste da Austrália.
  • "Serviço de Aplicativo" no Sudeste da Austrália.

Testar a integração de webhook por meio de uma solicitação HTTP POST

Siga estas etapas:

  1. Crie o conteúdo de integridade do serviço que você deseja enviar. Veja um conteúdo de webhook de integridade do serviço de exemplo em Webhooks para alertas do log de atividades do Azure.

  2. Crie uma solicitação HTTP POST, da seguinte maneira:

    POST        https://your.webhook.endpoint
    
    HEADERS     Content-Type: application/json
    
    BODY        <service health payload>
    

    Você deve receber uma resposta "2XX – Êxito".

  3. Acesse o PagerDuty para confirmar se a integração foi configurada com êxito.

Próximas etapas