3.10. Webhook通報を利用する

本システムでは、対象システムから送信されるアラートをエスカレーションとして通知する方法として、「メール連携」「CTI連携」「Webhook連携」「REST-API」があります。
Webhook通報では、指定したURLにHTTP(POST)リクエストすることで外部サービスと連携することができます。
Webhook通報を使用してエスカレーションする場合、Webhook通報先の設定が必要です。

注釈

Webhook通報先の登録、変更、削除の操作は、管理者ユーザアカウントまたは運用者ユーザアカウントで実施可能です。 登録可能なWebhook通報先のURLは1プロジェクトにつき、1件です。

設定したWebhook通報は、以下に示すケースにおいて、連携設定を有効にする必要があります。
  • パターン定義にマッチングしたアラートをWebhook通報でエスカレーションする場合

    パターン管理における[Webhook連携利用有無]を[連携する]に設定します。
    パターン管理の設定方法に関しては、 パターン管理 を参照してください。
  • 複合パターン定義にマッチングしたアラートをWebhook通報でエスカレーションする場合

    複合パターン管理における[Webhook連携]を[連携する]に設定します。
    複合パターン管理の設定方法に関しては、 パターン管理 を参照してください。
  • パターン定義にマッチングしなかったアラートをWebhook通報でエスカレーションする場合

    プロジェクト管理における[全体Webhook連携有無]を[連携する]に設定し、かつパターンアンマッチの[Webhook連携利用有無]を[連携する]に設定します。
    プロジェクト管理の設定方法に関しては、 プロジェクト管理 を参照してください。

3.10.1. Webhook通報先を設定する

  1. 運用ポータルにログインし、対象プロジェクトに遷移する
    ※既に対象プロジェクトに遷移している場合は不要です。
  2. Webhook通報先を設定する
    1. ) プロジェクト管理 ‣ プロジェクト一覧 メニューをクリックします。

    2. ) Webhook通報を行うプロジェクトを選択して 修正 ボタンをクリックします。

    3. ) [全体Webhook連携有無]を[連携する]に選択して、[Webhook-URL]にWebhook通報先のURLを入力します。

    4. ) Webhook通報時のHTTPヘッダにユーザ固定のパラメータを設定したい場合は、カスタムパラメータのフィールドの 行追加 をクリックして、[キー:値]を入力します。

    5. ) Webhook通報先の入力が完了したら、 更新 ボタンをクリックします。

    6. ) 登録確認を促すダイアログが表示されますので、 OK ボタンをクリックします。

    7. ) 登録完了後、登録完了ダイアログが表示されますので、 OK ボタンをクリックします。

    Webhook通報先情報の設定に関する詳細は、 プロジェクト編集 を参照してください。

3.10.2. Webhook通報のリクエスト

Webhook通報では、HTTP(POST)リクエストをJSON形式で、指定のURLに送信します。
リクエストの内容は以下の通りです。
表 3.10 Webhook通報/リクエスト内容

キー

概要

備考

esca_log_id

数値

エスカレーション履歴ID

esca_date

文字列

アラートメールの受信日時

mail_from

文字列

アラートメールの差出人

mail_content_type

文字列

アラートメールのContent-Type

mail_subject

文字列

アラートメールの件名

mail_body

文字列

アラートメールの本文

mail_body_html

文字列

アラートメールのHTMLパートの本文

プロジェクト管理の[HTMLメール転送]を[転送する]に設定かつmultipartメールを受信した場合のみキー有。

node_name

文字列

ノード名

mail

文字列

オリジナルメールを添付(base64でエンコード)

本バージョンでは常に空。

event_type

文字列

イベントタイプ。契機となるイベントの種別。
  • match : マッチ

  • ummatch : アンマッチ

pj_id

数値

プロジェクトID

pj_name

文字列

プロジェクト名

ptn_id

数値

パターンID

ptn_name

文字列

パターン名

ptn_type

文字列

パターン種別
  • 2 : 集約

  • 3 : 単発

  • 4 : 件数

  • 6 : 複合エスカ

ptn_description

文字列

パターン内容

esca_comment

文字列

エスカレーション時追加コメント

リクエストJSONサンプル
{
    "esca_log_id" : 10,
    "esca_date" : "2020-05-01T12:00:00+09:00",
    "mail_from" : "amc@amc.sample",
    "mail_content_type" : "text\/plain; charset=utf-8; format=flowed",
    "mail_subject" : "アラートメール",
    "mail_body" : "これはアラートメールです。\r\n",
    "mait_body_html" : "" ,
    "node_name" : "node1",
    "mail" : "",
    "event_type" : "match",
    "pj_id" : 1,
    "pj_name" : "プロジェクト1",
    "ptn_id" : 2,
    "ptn_name" : "パターン1",
    "ptn_type" : "3",
    "ptn_description" : "アラートのパターンマッチ",
    "esca_comment" : "エスカレーションコメント"
}

3.10.3. Webhook通報のリトライ処理

Webhook通報では、以下のようにHTTPステータスコードに応じてリクエストの成否を判定し、失敗した場合はリトライ処理を行います。
  • 200番台

    成功。
  • 200番台以外

    失敗と判断し、3回までのリトライ処理を行います。
    3回の再送信で成功にならず、リトライオーバーになった場合は、エスカレーション履歴詳細の「Webhook-URL」にエラーメッセージを出力します。