Splunk On-CallのカスタムアウトバウンドWebhook

カスタム発信Webhookを使用して、Splunk On-Callをお好みのツールに接続します。

カスタム発信Webhookを使用して、Splunk On-Callをお好みのツールに接続します。Splunk On-Call のアウトバウンド Webhook は、インシデントやチャットなど、さまざまな Splunk On-Call アクションに登録できます。ウェブフックの URL、メソッド、コンテンツタイプ、ペイロードはすべて設定可能です。Splunk On-Call 変数をペイロードの一部として使用することで、サードパーティシステムに送信される情報が動的になります。次のセクションでは、最初のアウトバウンド Webhook の設定について説明します。

要件

このインテグレーションは以下のバージョンのSplunk On-Callと互換性があります:

  • エンタープライズ

Webhook を表示および変更するには 管理者認証情報 が必要です。

はじめに

Splunk On-Call タイムラインから [Integrations] に移動し、次に [Outgoing Webhooks] に移動します。Add Webhook を選択します。

イベントの種類

異なるイベントの種類を表に示します:

サブスクリプション名

サブスクリプションの説明

All-Chats

Webhook はメインのタイムラインラインにチャットが配置されるたびに起動します。これにはすべてのインシデントチャットとサードパーティのチャットインテグレーションから入力されたチャットが含まれます。

Any-Incident

Webhookは、インシデントが作成され、確認され、解決されるたびに発行されます。

Any-On-Call

Webhookは、オンコールとオフコールの両方で、オンコールの変更があればいつでも起動します。

Any-Paging

Webhookは、どのユーザーでもページングを開始または停止するたびに起動します。

Incident-Acknowledged

Webhookは、ユーザーまたはシステムがインシデントを認識するたびに起動します。

Incident-Chats

Webhookは、チャットが特定のインシデントに入力されると、いつでも起動します。

Incident-Resolved

Webhookは、ユーザーまたはシステムがインシデントを解決するたびに起動します。

Incident-Triggered

Webhookは、任意のユーザーまたはシステムがインシデントをトリガーするたびに起動します。

Off-Call

Webhookは、任意のユーザーが通話を切断するたびに起動します。

On-Call

Webhookは、ユーザーがオンコールになるたびに起動します。

Paging-Start

Webhookは、任意のユーザーがページングされ始めるたびに起動します。

Paging-Stop

Webhookは、ページングされなくなったユーザーがいるたびに起動します。

推奨される変数

各イベントの変数例が画面の右側に表示されます。

注: 変数は利用可能なものとしてリストアップされていますが、それらは提案に過ぎず、ニーズに合わせてカスタマイズすることができます。

カスタムヘッダー

カスタムヘッダーを Webhook に追加するには、新しい Webhook 内で [+ Add Custom Header] を選択してください。

次に Webhook の残りの部分を設定し、Webhook を保存します。キャッシングが「クリア」されるまでに最大 10 分かかる場合があります。

リクエストタイプ

次に、Webhook に適したメソッドを選択します。次のオプションを使用できます。

  • GET

  • POST

  • PUT

  • DELETE

  • PATCH

Webhookに適切なコンテンツタイプを入力してください(例:application/json)。

これらの通知を受け取りたいエンドポイントURLを To フィールドに入力してください。

Splunk On-Call はすべての URL を解析して基本認証を行うので、エンドポイントがベーシック認証を必要とする場合は URL に追加することができます。 http://username:password@example.com/ または http://username:api_key@example.com/

最後に、ペイロードを作成します。使用可能な変数のいずれかをペイロードの一部として使用する場合は、必ず ${{variable_name}} で囲んでください。たとえば、インシデントにアラートの数を含める場合は、${{STATE.ALERT_COUNT}} を追加します。

インシデントに固有の他のフィールドも使用できます。たとえば、${{ALERT.field_name}}などです。

最後に、Save を選択します。

条件付きで Webhook を起動する

発信Webhookとアラートルールエンジンのパワーを組み合わせることで、希望する条件が満たされた場合にのみWebhookが起動するようにルールを設定することができます。

まず [Settings] 、[Alert Rules Engine] の順で [アラートルールエンジン] に移動します。

ここから [+ Add a Rule] を選択し、ルールの特定のマッチング条件(Webhook を起動させる条件)を定義します。マッチング条件の詳細については「ルールエンジンのマッチング条件」を参照してください。この例では state_message のどこかに「escalate to dev」という語句が含まれている場合に、条件が発生します。

state_message が一致する場合のルール アラートエンジン

[Transform these alert fields] で「vo-webhook-field」という新しいフィールドを作成し、Webhook の送信先 URL の一部を入力します。

この例では送信先の完全な URL は「https://dev.oscato.com/2tn6xfh」なので、vo-webhook-field の値として「oscato.com」を入力します。

次に [Integrations]、[Outgoing Webhooks] の順で [発信 Webhook] に移動します。Add Webhook を選択します。

ここでは、希望するメソッドとコンテンツタイプに加えて、Webhookを起動するイベントを選択します。

ルールエンジンルールで貼り付けた部分を ${{ALERT.vo-webhook-field}} に置き換え、[To:] フィールドに宛先 URL を貼り付けます。

この例では、Webhook の完全な宛先 URL は「https://dev.oscato.com/2tn6xfh」であり、ルールエンジンルールに「oscato.com」と記入するため、完全な「To:」URLは「https://dev.$}/2tn6xfh」となります。

これによって「vo-webhook-field」が存在するときのみ、URL の入力が完了する(したがって、Webhook が正常に起動する)ようになり、このフィールドは、ルールエンジンのマッチング条件が満たされたときにのみ存在するようになります。

Webhook に含ませたいフィールドをペイロード情報に入力し、オプションで説明を追加すれば、条件付きで Webhook を起動する準備は完了です。