Använda en webhook för att konfigurera hälsomeddelanden för problemhanteringssystem

Den här artikeln visar hur du konfigurerar Azure Service Health-aviseringar för att skicka data via webhooks till ditt befintliga meddelandesystem.

Du kan konfigurera Service Health-aviseringar för att meddela dig via sms eller e-post när en Azure-tjänstincident påverkar dig.

Men du kanske redan har ett befintligt externt meddelandesystem som du föredrar att använda. Den här artikeln identifierar de viktigaste delarna av webhooksnyttolasten. Och den beskriver hur du skapar anpassade aviseringar för att meddela dig när relevanta tjänstproblem uppstår.

Om du vill använda en förkonfigurerad integrering kan du läsa:

Titta på en introduktionsvideo:

Konfigurera ett anpassat meddelande med hjälp av Service Health webhook-nyttolasten

För att konfigurera din egen anpassade webhook-integrering måste du parsa JSON-nyttolasten som skickas via Service Health-meddelandet.

Se ett exempelServiceHealth på en webhook-nyttolast.

Du kan bekräfta att det är en tjänsthälsoavisering genom att titta på context.eventSource == "ServiceHealth". Följande egenskaper är de mest relevanta:

  • 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

Du kan skapa en direktlänk till din Service Health-instrumentpanel på en stationär eller mobil enhet genom att generera en specialiserad URL. Använd trackingId och de tre första och sista tre siffrorna i ditt subscriptionId i det här formatet:

https://app.azure.com/h/< trackingId>/<första tre och sista tre siffrorna i subscriptionId>

Om ditt subscriptionId till exempel är bba14129-e895-429b-8809-278e836ecdb3 och ditt trackingId är 0DET-URB är din Url för Tjänsthälsa:

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

Använd nivån för att identifiera problemets allvarlighetsgrad

Från lägsta till högsta allvarlighetsgrad kan nivåegenskapen i nyttolasten vara Information, Varning, Fel eller Kritisk.

Parsa de påverkade tjänsterna för att fastställa incidentomfånget

Service Health-aviseringar kan informera dig om problem i flera regioner och tjänster. För att få fullständig information måste du parsa värdet för impactedServices.

Innehållet som finns inuti är en undantagen JSON-sträng som, när den inte kapslades, innehåller ett annat JSON-objekt som kan parsas regelbundet. Till exempel:

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

Blir:

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

Det här exemplet visar problem för:

  • "Aviseringar och mått" i Australien, östra och Australien, sydöstra.
  • "App Service" i Australien, sydöstra.

Testa webhook-integreringen via en HTTP POST-begäran

Följ dessa steg:

  1. Skapa nyttolasten för tjänstens hälsotillstånd som du vill skicka. Se ett exempel på en webhook-nyttolast för tjänstens hälsotillstånd på Webhooks för Azure-aktivitetsloggaviseringar.

  2. Skapa en HTTP POST-begäran enligt följande:

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

    Du bör få svaret "2XX – Lyckades".

  3. Gå till PagerDuty för att bekräfta att integreringen har konfigurerats.

Nästa steg