My Home NW Lab

逸般の誤家庭のネットワーク

ThousandEyesのCustom WebhookによるSlackへのアラート発報

ThousandEyesでCustom Webhookを用いるとSlackへのアラートの発報が可能になります。本記事では設定やアラートの確認方法を整理します。

更新情報

2023年04月28日追記

メニュー: Alerts > IntegrationsIntegrations はトップ メニューに移動しましたので読み替えてください。

https://docs.thousandeyes.com/whats-new/changelog#integration-updates

Integration Updates
We've changed how the Integrations screens appear in the ThousandEyes platform:
The Integrations screen has been moved to the top level of the lefthand menu, and is no longer listed under Alerts.

Slackの統合方法

前提情報としてThousandEyesでSlackを統合する場合は、Custom Webhookを含めた2種類の統合方法があります。

  • メニュー: Alerts > Integrations からCustom Webhookで設定する方法

    Custom Webhookによる統合方法

  • メニュー: Alerts > Alert Rule から Edit Integrations で設定する方法

    Edit Integrationsによる統合方法

Custom Webhookではメニュー: Alerts > Integrations に統合先が一覧で表示されて設定が把握しやすい利点があるため、本記事ではCustom WebhookによるSlackの統合方法を紹介します。

設定の概要

ThousandEyes側のCustom Webhookでアラートを発報して、Slack側ではIncoming Webhookで受信して指定のチャンネルへ情報を書き込みます。

ThousandEyesのCustom WebhookによるSlack統合

Custom Webhookの Preset ConfigurationsSlack を指定すると、Slackへアラート情報を渡すためのBodyの設定が自動生成されます。 チャンネル名称はデフォルトで #thousandeyes-alert-notifications になっているので適宜修正が必要です。

設定方法

Slack側でアラート発報先のチャンネルの作成

  • SlackでThousandEyesのアラート発報先のチャンネルを予め作成しておきます。
    チャンネルの 名前 をThousandEyes側のデフォルト名称と一致させたい場合は #thousandeyes-alert-notifications を指定してください。

    Slackでアラート発報先のチャンネルの作成

Slack側でIncoming Webhookの設定

  • 対象のワークスペースIncoming WebhookSlack に追加 します。

    Incoming Webhookの追加

  • チャンネルへの投稿 で予め作成しておいたチャンネルを指定して Incoming Webhook インテグレーションの追加 を押下します。
    本記事では #thousandeyes-alert-notifications を指定しています。

    Incoming Webhookの投稿先チャンネルの指定

  • Webhook URL の情報は後ほどのThousandEyes側の設定で必要になります。名称やアイコンのカスタマイズを適宜行ってから 設定を保存する を押下します。

    Webhook URLの確認と設定の保存

ThousandEyes側でのSlack統合

  • ThousandEyesでメニュー: Alerts > Integrations を開き、New Integration ボタンを押下します。

    メニュー: Alerts > Integrations

  • Add New Integration の画面で Custom Webhook を選択します。

    Custom Webhookの選択

  • Add Custom Webhook Integration の画面で下記のように設定します。

    設定項目 設定値 備考
    Name Slack 任意の名称を指定します。
    URL SlackのIncoming WebhoookのWebhook URLを貼り付け
    Preset Configurations Slack Slack を選択すると Body が自動生成されます。
    Body channel の値にSlack側のチャンネル名称を指定 Preset Configurations を指定すると自動生成される設定項目です。

    Preset Configurationsの挙動とチャンネル名称の修正

    Custom Webhookの設定

  • 設定入力後は Test ボタンを押下して設定の動作を確認します。設定に問題がないようであれば Save ボタンを押下します。

    Custom Webhookの設定の動作確認

  • Body で存在しない channel が設定された状態で Test ボタンを押下すると、下記のようなエラーが表示される可能性があります。

    Testing Failed: HTTP status: NOT_FOUND (404)
    

    Testing Failed: HTTP status: NOT_FOUND (404)

ThousandEyes側でのアラート設定

  • 実際にSlackへアラートを発報させるにはアラート設定に紐付ける必要があります。

  • ThousandEyesでメニュー: Alerts > Alert Rules から任意のアラート設定を開いて、Notifications タブの INTEGRATIONS セクションの Send notifications to で先に作成したCustom Webhookを指定します。

    アラートの通知設定

アラートの発報確認

  • 適宜、意図的にアラートが検知されやすいテスト設定と状態を作って発報テストを行います。

  • 筆者の場合は Latency Static 1 ms の条件で設定しました。

    アラートの発報テスト用設定の例

    ThousandEyesによって提供されているCloud Agentを活用すると発報テストが行いやすいです。
    備考: 筆者がAgent to Server TestでCloud Agent (Tokyo, Japan)から 8.8.8.8 (Google Public DNS)宛にテストを行うと、Latency が 1ms 未満になって検知されなかったケースもあるので留意してください。その際は宛先を www.google.com に変えてテストし直しました。

  • 実際にSlackでアラートが受信できているかを確認します。

    Slackでのアラートの受信確認

  • アラートの発生時と解除時に通知が飛ぶので、閾値を調整して発生と解除を何度か発生させて意図通りの挙動をするか確認してください。

    アラートの発報テスト

関連ドキュメント

下記の公式ドキュメントでは Edit Integrations で設定する方法が記載されています。

docs.thousandeyes.com