Condividi tramite


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 in modo che inviino i 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 è possibile che già si disponga di un sistema di notifica esterno preferito. 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.

Se si desidera usare una funzionalità di integrazione preconfigurata, vedere:

Guardare un video introduttivo:

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

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

Vedere un esempio ServiceHealth di payload del webhook.

È possibile confermare che si tratta di un avviso di integrità del servizio esaminando context.eventSource == "ServiceHealth". Le proprietà seguenti sono quelle 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 per l'integrità dei servizi di Azure su un desktop o dispositivo mobile tramite la generazione di un URL specifico. Usare trackingId e le prime tre e le ultime tre cifre del valore subscriptionId in questo formato:

HTTPS://app.azure.com/h/<trackingId>/<le prime tre e le ultime tre cifre di subscriptionId>

Ad esempio, se subscriptionId è bba14129-e895-429b-8809-278e836ecdb3 e trackingIdè 0DET-URB, 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 a quella più alta, la proprietà di livello nel payload può essere Informational, Avviso, Errore o Critico.

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

Gli avvisi di integrità dei servizi possono dare informazioni sui problemi di più aree e servizi. Per ottenere i dettagli completi, è necessario analizzare il valore di impactedServices.

Il contenuto all'interno è una stringa escape JSON che, quando non è eseguita con 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

Seguire questa procedura:

  1. Creare il payload di integrità dei servizi che si desidera inviare. Vedere un payload di esempio del webhook di 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