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 per inviare dati tramite webhook al sistema di notifica esistente.

Sebbene sia possibile configurare gli avvisi di Integrità dei servizi per inviare notifiche tramite SMS o posta elettronica quando un incidente del servizio di Azure ti riguarda, potresti preferire utilizzare un sistema di notifica esterno esistente.

In questa guida vengono evidenziate le parti chiave del payload del webhook e viene illustrato come creare avvisi personalizzati per notificare i 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 la propria integrazione webhook personalizzata, è necessario analizzare il payload JSON inviato tramite notifica di integrità dei servizi.

Vedere un esempioServiceHealth 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
  • dati.contesto.registroAttività.proprietà.comunicazione
  • dati.contesto.registroAttività.proprietà.serviziImpattati
  • data.context.activityLog.properties.trackingId

Crea un collegamento diretto alla dashboard della salute dei servizi su 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>/<le prime tre e le ultime tre cifre di subscriptionId>

Ad esempio, se subscriptionId è aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e e trackingIdè 0DET-RPC, l'URL di integrità del servizio è:

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.

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 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

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