共用方式為


使用 Webhook 設定問題管理系統的健康狀態通知

本文會示範如何設定 Azure 服務健康狀態警示,以便透過 Webhook 將資料傳送至您現有的通知系統。

您可以設定服務健康狀態警示,以在 Azure 服務事件影響您時,透過簡訊或電子郵件通知您。

不過,您可能已有慣用的現有外部通知系統。 本文會識別 Webhook 承載最重要的部分。 其中會描述如何建立自訂警示,以在發生相關的服務問題時通知您。

如果您想要使用預先設定的整合,請參閱:

觀看簡介影片:

使用服務健康情況 Webhook 承載來設定自訂通知

若要設定自己的自訂 Webhook 整合,您必須剖析透過服務健康狀態通知傳送的 JSON 承載。

請參閱 範例 ServiceHealth Webhook 承載。

您可以藉由在 context.eventSource == "ServiceHealth" 上查看,確認這是服務健康狀態警示。 以下是最相關的屬性:

  • 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

您可以藉由產生特殊的 URL,在桌面或行動裝置上,建立服務健康狀態儀表板的直接連結。 使用 trackingId 和您 subscriptionId 的前三個和後三個數字,格式如下:

https://app.azure.com/h/<trackingId>/<subscriptionId 的前三個和後三個數字>

例如,如果您的 subscriptionId 是 aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e,而且您的 trackingId 是 0DET-URB,您的服務健康狀態 URL 為:

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

使用偵測問題嚴重性的層級

從最低到最高嚴重性,承載中的 level 屬性可以是 InformationalWarningErrorCritical

剖析受影響的服務以判斷事件範圍

Azure 服務健康狀態警示會通知您多個區域和服務的相關問題。 若要取得完整詳細資料,您必須剖析 impactedServices 的值。

其中的內容是 JSON 逸出字串,在未逸出時,則包含另一個可以定期剖析的 JSON 物件。 例如:

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

成為:

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

此範例顯示下列項目發生問題:

  • 澳大利亞東部和澳大利亞東南部的「警示與計量」。
  • 澳大利亞東南部的 "App Service"。

透過 HTTP POST 要求測試 Webhook 整合

執行下列步驟:

  1. 建立您想要傳送的服務健康狀態承載。 您可以在 Azure 活動記錄警示的 Webhook 上,看到服務健康狀態 Webhook 承載範例。

  2. 建立 HTTP POST 要求,如下所示:

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

    您應該會收到「2XX - 成功」回應。

  3. 移至 PagerDuty,以確認您的整合已設定成功。

下一步