Utilize um webhook para configurar notificações de saúde para sistemas de gestão de problemasUse a webhook to configure health notifications for problem management systems

Este artigo mostra-lhe como configurar alertas de Saúde do Serviço Azure para enviar dados através de webhooks para o seu sistema de notificação existente.This article shows you how to configure Azure Service Health alerts to send data through webhooks to your existing notification system.

Pode configurar alertas de saúde do serviço para notificá-lo por mensagem de texto ou e-mail quando um incidente de serviço Azure o afetar.You can configure Service Health alerts to notify you by text message or email when an Azure service incident affects you.

Mas pode já ter um sistema de notificação externo existente que prefere utilizar.But you might already have an existing external notification system in place that you prefer to use. Este artigo identifica as partes mais importantes da carga útil do webhook.This article identifies the most important parts of the webhook payload. E descreve como criar alertas personalizados para o notificar quando ocorrem problemas de serviço relevantes.And it describes how to create custom alerts to notify you when relevant service issues occur.

Se quiser utilizar uma integração pré-configurada, consulte:If you want to use a preconfigured integration, see:

Assista a um vídeo introdutório:Watch an introductory video:

Configure uma notificação personalizada utilizando a carga útil do Webhook service HealthConfigure a custom notification by using the Service Health webhook payload

Para configurar a sua própria integração personalizada do webhook, você precisa analisar a carga útil JSON que é enviada através da notificação de Saúde do Serviço.To set up your own custom webhook integration, you need to parse the JSON payload that's sent via Service Health notification.

Veja um exemplo de carga útil ServiceHealth webhook.See an example ServiceHealth webhook payload.

Pode confirmar que é um alerta de saúde de serviço olhando para context.eventSource == "ServiceHealth" .You can confirm that it's a service health alert by looking at context.eventSource == "ServiceHealth". As seguintes propriedades são as mais relevantes:The following properties are the most relevant:

  • data.context.activityLog.statusdata.context.activityLog.status
  • data.context.activityLog.leveldata.context.activityLog.level
  • data.context.activityLog.subscriptionIddata.context.activityLog.subscriptionId
  • data.context.activityLog.properties.titledata.context.activityLog.properties.title
  • data.context.activityLog.properties.impactStartTimedata.context.activityLog.properties.impactStartTime
  • data.context.activityLog.properties.communicationdata.context.activityLog.properties.communication
  • data.context.activityLog.properties.impactedServicesdata.context.activityLog.properties.impactedServices
  • data.context.activityLog.properties.trackingIddata.context.activityLog.properties.trackingId

Pode criar uma ligação direta ao seu painel de saúde de serviço num ambiente de trabalho ou dispositivo móvel, gerando um URL especializado.You can create a direct link to your Service Health dashboard on a desktop or mobile device by generating a specialized URL. Utilize o trackingId e os primeiros três e últimos três dígitos da sua subscriçãoId neste formato:Use the trackingId and the first three and last three digits of your subscriptionId in this format:

https ://app.azure.com/h/* < trackingId > * / * < primeiros três e últimos > três dígitos de subscriçãoId*https://app.azure.com/h/<trackingId>/<first three and last three digits of subscriptionId>

Por exemplo, se a sua subscriçãoId for bba14129-e895-429b-8809-278e836ecdb3 e o seu trackingId é 0DET-URB, o seu URL de Saúde de Serviço é:For example, if your subscriptionId is bba14129-e895-429b-8809-278e836ecdb3 and your trackingId is 0DET-URB, your Service Health URL is:

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

Use o nível para detetar a gravidade da questãoUse the level to detect the severity of the issue

Da severidade mais baixa à máxima, a propriedade de nível na carga útil pode ser Informacional, Aviso, Erro, Ou Crítico.From lowest to highest severity, the level property in the payload can be Informational, Warning, Error, or Critical.

Parse os serviços impactados para determinar o âmbito do incidenteParse the impacted services to determine the incident scope

Os alertas de saúde do serviço podem informá-lo sobre problemas em várias regiões e serviços.Service Health alerts can inform you about issues across multiple regions and services. Para obter detalhes completos, você precisa analisar o valor de impactedServices .To get complete details, you need to parse the value of impactedServices.

O conteúdo que está dentro é uma cadeia JSON em fuga que, quando não escapada, contém outro objeto JSON que pode ser analisado regularmente.The content that's inside is an escaped JSON string that, when unescaped, contains another JSON object that can be parsed regularly. Por exemplo:For example:

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

torna-se:becomes:

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

Este exemplo mostra problemas para:This example shows problems for:

  • "Alertas & Métricas" na Austrália Leste e Austrália Sudeste."Alerts & Metrics" in Australia East and Australia Southeast.
  • "App Service" na Austrália Sudeste."App Service" in Australia Southeast.

Teste a sua integração webhook através de um pedido HTTP POSTTest your webhook integration via an HTTP POST request

Siga estes passos:Follow these steps:

  1. Crie a carga útil de saúde de serviço que pretende enviar.Create the service health payload that you want to send. Consulte um serviço de exemplo webhook payload na Webhooks para alertas de registo de atividades Azure.See an example service health webhook payload at Webhooks for Azure activity log alerts.

  2. Crie um pedido HTTP POST da seguinte forma:Create an HTTP POST request as follows:

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

    Deve receber uma resposta "2XX - Sucesso".You should receive a "2XX - Successful" response.

  3. Vá ao PagerDuty confirmar que a sua integração foi configurada com sucesso.Go to PagerDuty to confirm that your integration was set up successfully.

Próximos passosNext steps