Konfigurowanie powiadomień o kondycji dla systemów zarządzania problemami przy użyciu elementu webhook

W tym artykule pokazano, jak skonfigurować alerty usługi Azure Service Health w celu wysyłania danych za pośrednictwem elementów webhook do istniejącego systemu powiadomień.

Możesz skonfigurować alerty usługi Service Health, aby otrzymywać powiadomienia za pomocą wiadomości SMS lub wiadomości e-mail w przypadku wystąpienia zdarzenia usługi platformy Azure.

Możesz jednak mieć już istniejący zewnętrzny system powiadomień, którego chcesz użyć. W tym artykule przedstawiono najważniejsze części ładunku elementu webhook. W tym artykule opisano sposób tworzenia alertów niestandardowych w celu powiadamiania o wystąpieniu odpowiednich problemów z usługą.

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

Obejrzyj film wprowadzający:

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

Aby skonfigurować własną niestandardową integrację elementu webhook, należy przeanalizować ładunek JSON wysyłany za pośrednictwem powiadomienia 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
  • data.context.activityLog.properties.communication
  • data.context.activityLog.properties.impactedServices
  • data.context.activityLog.properties.trackingId

Możesz utworzyć 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 bba14129-e895-429b-8809-278e836ecdb3, 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.

Analizowanie usług, których dotyczy ten wpływ, w celu określenia zakresu zdarzeń

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ść, która znajduje się wewnątrz, jest ciągiem JSON ucieczki, który, gdy nie jest wyświetlany, zawiera inny obiekt JSON, który może być regularnie analizowany. 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