Udostępnij za pośrednictwem


Wysyłanie alertów do systemów zewnętrznych przy użyciu elementu webhook

Dowiedz się, jak skonfigurować alerty usługi Azure Service Health przy użyciu elementów webhook w celu odbierania powiadomień w czasie rzeczywistym o zdarzeniach usługi. Takie podejście umożliwia bezproblemową integrację z istniejącymi platformami powiadomień, takimi jak ServiceNow, PagerDuty lub OpsGenie.

Konfigurowanie powiadomień o kondycji przy użyciu elementu webhook

W tym przewodniku opisano kluczowe składniki ładunku webhook i pokazano, jak skonfigurować niestandardowe alerty do powiadamiania o istotnych problemach z usługą.

Jeśli chcesz użyć wstępnie skonfigurowanej integracji, przeczytaj:

Obejrzyj film wprowadzający:

Konfigurowanie powiadomienia niestandardowego przy użyciu ładunku elementu webhook usługi Service Health

Aby skonfigurować własną niestandardową integrację webhook, należy przeanalizować ładunek JSON wysyłany za pośrednictwem powiadomienia o stanie usługi Service Health.

Zobacz przykładowyServiceHealth ładunek elementu webhook.

Możesz potwierdzić, że jest to alert dotyczący kondycji usługi, sprawdzając adres context.eventSource == "ServiceHealth". Najbardziej istotne są następujące właściwości:

  • data.context.activityLog.status
  • data.context.activityLog.level
  • data.context.activityLog.subscriptionId
  • data.context.activityLog.properties.title
  • data.context.activityLog.properties.impactStartTime
  • dane.kontekst.dziennikAktywności.właściwości.komunikacja
  • data.context.activityLog.properties.dotknięteUsługi
  • data.context.activityLog.properties.trackingId

Utwórz bezpośredni link do pulpitu nawigacyjnego usługi Service Health na komputerze lub urządzeniu przenośnym, generując wyspecjalizowany adres URL. Użyj identyfikatora trackingId i pierwszych trzech i ostatnich trzech cyfr identyfikatora subskrypcji w następującym formacie:

https://app.azure.com/h/< trackingId>/<pierwsze trzy i ostatnie trzy cyfry identyfikatora subscriptionId>

Jeśli na przykład identyfikator subskrypcji to aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e, a identyfikator trackingId to 0DET-URB, adres URL kondycji usługi to:

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

Użyj poziomu , aby wykryć ważność problemu

Od najniższej do najwyższej ważności właściwość level w ładunku może być informacyjna, ostrzegawcza, błędna lub krytyczna.

Określanie zakresu zdarzenia

Alerty usługi Service Health mogą informować o problemach w wielu regionach i usługach. Aby uzyskać szczegółowe informacje, należy przeanalizować wartość .impactedServices

Zawartość wewnątrz jest ciągiem ze znakami ucieczki JSON, który, gdy zostanie zdekodowany, zawiera inny obiekt JSON, który można regularnie analizować. Na przykład:

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

Staje się:

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

W tym przykładzie przedstawiono problemy dotyczące następujących elementów:

  • "Alerty i metryki" w Australii Wschodniej i Australii Południowo-Wschodniej.
  • "App Service" w Australii Południowo-Wschodniej.

Testowanie integracji elementu webhook za pośrednictwem żądania HTTP POST

Wykonaj te kroki:

  1. Utwórz ładunek kondycji usługi, który chcesz wysłać. Zobacz przykładowy ładunek elementu webhook kondycji usługi w temacie Elementy webhook dla alertów dziennika aktywności platformy Azure.

  2. Utwórz żądanie HTTP POST w następujący sposób:

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

    Powinna zostać wyświetlona odpowiedź "2XX — powodzenie".

  3. Przejdź do strony PagerDuty , aby potwierdzić, że integracja została pomyślnie skonfigurowana.

Następne kroki