Webhook は、HTTP POST を使用して、特定のアラートによってトリガーされた他のアプリケーションにデータを提供します。アラートが発生するたびに、ソースは Webhook が設定されたターゲット アプリケーションに HTTP 要求を送信します。SD-WAN Orchestrator は、イベントが発生したときに、HTTP POST を介してメッセージを自動的にターゲット アプリケーションに送信する Webhook をサポートします。エンタープライズ ポータルでターゲット URL を設定し、SD-WAN Orchestrator によってトリガーされたアラートに応答するアクションを自動化することができます。Webhook の受信者は、HTTPS をサポートし、有効な証明書を持っている必要があります。これにより、潜在的に機密性の高いアラート ペイロードのプライバシーが確保されます。また、これによりペイロードの改ざんも防止されます。

[アラート設定 (Alert Configuration)] ウィンドウの [Webhook (Webhooks)] ページでは、次の詳細設定を行えます。
オプション 説明
URL 有効な HTTPS URL を入力します。これは、Webhook のターゲット アプリケーションとして機能します。
コード (Code)

Webhook 受信者ごとに想定される HTTP 応答状態コードを入力します。デフォルトでは、SD-WAN Orchestrator は、Webhook の受信者が状態コード HTTP [200] で HTTP POST 要求に応答することを想定します。

SD-WAN Orchestrator が受信者サーバまたはプロキシ サーバから予期しない状態コードを受信すると、アラート配信が失敗したとみなされ、ALERT_DELIVERY_FAILED のカスタマー イベントが生成されます。このイベントは、Webhook の受信者サーバが期待どおりに機能しない可能性があることを特定するのに役立ちます。

シークレット (Secret)

設定された Webhook 受信者ごとにシークレット トークンを指定します。これは、対応する受信者に送信される Webhook 要求ごとに HMAC を計算するために使用されます。HMAC は、バージョン パラメータとともに X-Webhook-Signature HTTP ヘッダーに組み込まれており、署名アルゴリズムとタイムスタンプを識別します。

X-Webhook-Signature: v=<signature-version>&t=<timestamp>&s=<hmac> 
受信者はコンポーネントを次のように解釈します。
  • v:署名の生成に使用されるアルゴリズムのバージョン。サポートされている唯一の値は [1] です。
  • t:要求が発行された時間に対応するミリ秒単位の精度エポック タイムスタンプ。
  • sSD-WAN Orchestrator によって計算された HMAC。HMAC は次のように計算されます:HMAC-SHA256(request-body + '.' + timestamp, secret)

HMAC の計算に使用されるメッセージは、要求の本文、1 つのピリオド、および署名ヘッダーに表示されるタイムスタンプ パラメータの値を連結することによって形成されます。コードの生成に使用される特定の 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)] と表示されます。
カスタマー論理 ID (Customer Logical ID) 通知の送信先となるカスタマーの論理 ID を入力します。
カスタマー (Customer) 通知の送信先となるカスタマーの名前を入力します。
デバイスの論理 ID (Device Logical ID) アラートを適用する必要がある Edge の論理 ID を入力します。
デバイスの説明 (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"
}

Webhook の設定を保存するには、[保存 (Save)] をクリックし、[Webhook (Webhooks)] ページで [変更の保存 (Save Changes)] をクリックします。

アラートがトリガーされるたびに、関連情報とともにアラート メッセージがターゲット URL に送信されます。