Webhook 會將資料傳送至其他應用程式,由特定警示使用 HTTP POST 觸發。每當發生警示時,來源就會將 HTTP 要求傳送至針對 Webhook 設定的目標應用程式。SD-WAN Orchestrator 支援在發生事件時透過 HTTP POST 自動將訊息傳送至目標應用程式的 Webhook。您可以在企業入口網站中設定目標 URL,並自動執行動作以回應由 SD-WAN Orchestrator 觸發的警示。Webhook 收件者必須支援 HTTPS,並且必須具有有效的憑證,以確保潛在敏感警示裝載的隱私。如此也可防止裝載遭到篡改。

警示組態 (Alert Configuration) 視窗的 Webhook 頁面中,您可以設定以下詳細資料:
選項 說明
URL 輸入有效的 HTTPS URL。這會作為 Webhook 的目標應用程式。
代碼 (Code)

為每個 Webhook 收件者輸入預期的 HTTP 回應狀態碼。依預設,SD-WAN Orchestrator 預期 Webhook 收件者應以狀態碼 HTTP 200 回應 HTTP POST 要求。

SD-WAN Orchestrator 從收件者伺服器或 Proxy 伺服器接收到非預期的狀態碼時,它會將警示傳遞視為失敗,並產生一個 ALERT_DELIVERY_FAILED 客戶事件。此事件有助於識別 Webhook 收件者伺服器是否無法如預期般運作。

密碼 (Secret)

為每個已設定的 Webhook 收件者指定密碼 Token,用以計算傳送給對應收件者的每個 Webhook 要求的 HMAC。HMAC 會連同用來識別簽章演算法和時間戳記的版本參數內嵌於 X-Webhook-Signature HTTP 標頭中。

X-Webhook-Signature: v=<signature-version>&t=<timestamp>&s=<hmac> 
收件者需要以下列方式解譯元件:
  • v:用來產生簽章的演算法版本。唯一支援的值為 1
  • t:毫秒精確度 epoch 時間戳記,對應於發出要求的時間。
  • s:由 SD-WAN Orchestrator 計算的 HMAC。HMAC 的計算方式如下:HMAC-SHA256(request-body + '.' + timestamp, secret)

用來計算 HMAC 的訊息由要求本文、單一期間,以及簽章標頭中顯示的時間戳記參數值串連所組成。用來產生程式碼的特定 HMAC 演算法為 HMAC-SHA256。

收到 Webhook 要求後,接聽伺服器可根據相同演算法來計算要求本身的 HMAC-SHA256 簽章,並將新計算的簽章與 SD-WAN Orchestrator 所產生的簽章進行比較,以驗證要求的真實性。

JSON 裝載範本 (JSON Payload Template)

這是必填欄位。SD-WAN Orchestrator 可透過包含在傳出 HTTP POST 要求本文中的 JSON 裝載,將警示通知傳送給每個 Webhook 收件者。SD-WAN Orchestrator 會動態產生裝載內容,因為通知是藉由執行變數插補來傳送的。使用者設定的裝載範本中支援的預留位置變數會取代為警示的特定值。

驗證 (Verify) 按一下此選項,可驗證所輸入的詳細資料。
按一下 JSON 裝載範本 (JSON Payload Template) 選項下的 設定裝載範本 (Configure Payload Template) 連結,可設定以下選項:
選項 說明
警示時間 (Alert Time) 請輸入必須觸發警示的日期和時間。
警示類型 (Alert Type) 從下拉式功能表中,選取警示的類型。依預設,它顯示為不適用 (N/A)
客戶邏輯識別碼 (Customer Logical ID) 輸入必須收到通知之客戶的邏輯識別碼。
客戶 (Customer) 輸入必須收到通知之客戶的名稱。
裝置邏輯識別碼 (Device Logical ID) 輸入必須套用警示之 Edge 的邏輯識別碼。
裝置說明 (Device Description) 輸入一則簡短訊息,以說明必須套用警示的 Edge。
裝置序號 (Device Serial Number) 輸入必須套用警示之 Edge 的序號。
裝置名稱 (Device Name) 輸入必須套用警示之 Edge 的名稱。
上次連絡 (Last Contact) 輸入受影響的 Edge 最近與 SD-WAN Orchestrator 通訊的日期和時間。這僅適用於 Edge 警示。
VCO 輸入必須從中傳送通知之 SD-WAN Orchestrator 的主機名稱或公用 IP。
訊息 (Message) 輸入一則簡短訊息,以說明必須觸發警示的事件。
受影響的實體 (Entity Affected) 輸入必須套用警示之實體 (Edge 或連結或 VNF) 的名稱。

下列範例顯示範例 JSON 裝載範本:

{
   "alertTime": "alertTime",
   "alertType": "alertType",      
   "customer": "customer",
   "customerLogicalId": "customerLogicalId",
   "entityAffected": "entityAffected",
   "deviceLogicalId": "deviceLogicalId",
   "lastContact": "lastContact",
   "message": "message",
   "vco": "vco",
   "deviceName": "deviceName",
   "deviceDescription": "deviceDescription",
   "deviceSerialNumber": "deviceSerialNumber"
}

按一下儲存 (Save),然後在 Webhook 頁面上按一下儲存變更 (Save Changes),以儲存 Webhook 組態。

每當觸發警示時,警示訊息就會連同相關資訊傳送至目標 URL。