使用 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 屬性可以是 Informational、Warning、Error 或 Critical。
剖析受影響的服務以判斷事件範圍
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 整合
執行下列步驟:
建立您想要傳送的服務健康狀態承載。 您可以在 Azure 活動記錄警示的 Webhook 上,看到服務健康狀態 Webhook 承載範例。
建立 HTTP POST 要求,如下所示:
POST https://your.webhook.endpoint HEADERS Content-Type: application/json BODY <service health payload>
您應該會收到「2XX - 成功」回應。
移至 PagerDuty,以確認您的整合已設定成功。
下一步
- 檢閱活動記錄警示 Webhook 結構描述。
- 深入了解服務健康狀態通知。
- 深入了解動作群組。