Usare un webhook per configurare le notifiche di integrità per i sistemi di gestione dei problemi

Questo articolo illustra come configurare gli avvisi di Integrità dei servizi di Azure per inviare dati tramite webhook al sistema di notifica esistente.

È possibile configurare gli avvisi di integrità dei servizi per ricevere una notifica tramite SMS o posta elettronica quando si verifica un evento imprevisto del servizio di Azure.

Tuttavia, potrebbe essere già disponibile un sistema di notifica esterno esistente che si preferisce usare. Questo articolo identifica le parti più importanti del payload del webhook. Descrive inoltre come creare avvisi personalizzati per ricevere una notifica quando si verificano problemi del servizio pertinenti.

Per usare un'integrazione preconfigurata, vedere:

Guardare un video introduttivo:

Configurare una notifica personalizzata usando il payload del webhook integrità dei servizi

Per configurare l'integrazione del webhook personalizzato, è necessario analizzare il payload JSON inviato tramite notifica di integrità dei servizi.

Vedere un esempioServiceHealth di payload webhook.

È possibile verificare che si tratti di un avviso di integrità del servizio esaminando context.eventSource == "ServiceHealth". Le proprietà seguenti sono le più rilevanti:

  • 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

È possibile creare un collegamento diretto al dashboard integrità dei servizi in un dispositivo desktop o mobile generando un URL specializzato. Usare trackingId e le prime tre e le ultime tre cifre del valore subscriptionId in questo formato:

https://app.azure.com/h/< trackingId>/<prima tre e ultime tre cifre di subscriptionId>

Ad esempio, se subscriptionId è bba14129-e895-429b-8809-278e836ecdb3 e trackingId è 0DET-ROUTE, l'URL di integrità dei servizi è:

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

Usare il livello per rilevare la gravità del problema

Dalla gravità più bassa alla più alta, la proprietà di livello nel payload può essere Informativo, Avviso, Errore o Critico.

Analizzare i servizi interessati per determinare l'ambito dell'evento imprevisto

Gli avvisi di integrità dei servizi possono informare l'utente sui problemi in più aree e servizi. Per ottenere i dettagli completi, è necessario analizzare il valore di impactedServices.

Il contenuto all'interno è una stringa JSON di escape che, quando non esegue l'escape, contiene un altro oggetto JSON che può essere analizzato regolarmente. Ad esempio:

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

diventa:

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

Questo esempio mostra i problemi per:

  • "Avvisi e metriche" in Australia orientale e Australia sud-orientale.
  • "servizio app" in Australia sud-orientale.

Testare l'integrazione del webhook tramite una richiesta HTTP POST

Eseguire i passaggi indicati di seguito:

  1. Creare il payload di integrità del servizio da inviare. Vedere un esempio di payload webhook sull'integrità dei servizi in Webhook per gli avvisi del log attività di Azure.

  2. Creare una richiesta HTTP POST nel modo seguente:

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

    Si dovrebbe ricevere una risposta "2XX - Operazione riuscita".

  3. Passare a PagerDuty per confermare che l'integrazione è stata configurata correttamente.

Passaggi successivi