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:
- Konfigurera aviseringar med ServiceNow
- Konfigurera aviseringar med PagerDuty
- Konfigurera aviseringar med OpsGenie
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 exempel ServiceHealth
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
Skapa en länk till instrumentpanelen för Service Health för en incident
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 aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e och ditt trackingId är 0DET-URB är url:en 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 de här stegen:
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.
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".
Gå till PagerDuty för att bekräfta att integreringen har konfigurerats.
Nästa steg
- Granska webhook-schemat för aktivitetsloggavisering.
- Läs mer om meddelanden om tjänstens hälsotillstånd.
- Läs mer om åtgärdsgrupper.