Skip to content

Webhookアラート

EMQXブローカーはWebhookベースのアラート連携をサポートしており、アラートイベントをサードパーティのインシデント管理(IM)ツールや独自のサービスに転送できます。

Webhookが正しく設定されているかどうかは、テスト機能を使ってサンプルアラートを送信することで確認できます。

現在、EMQXは以下のWebhook連携をサポートしています。

  • Slack
  • Zenduty
  • FlashDuty
  • ジェネリックWebhook(カスタムサービス)

Slackへのアラート送信

  1. SlackでIncoming Webhookを作成し、Webhook URLを取得します。詳細はIncoming Webhooksを使ったメッセージ送信をご参照ください。
  2. EMQXコンソールのデプロイメントに移動し、Alerts -> Alert Integrationsへ進み、Webhook integrationの下の**+ New**をクリックします。
  3. Add Webhookダイアログで以下を設定します:
    • 連携の名前を入力します。
    • TypeSlackを選択します。
    • SlackのWebhook URLをURL欄に貼り付けます。
  4. Confirmをクリックして設定を完了します。
  5. 設定を検証するために、TestをクリックしてSlackにデフォルトのアラートメッセージを送信します。

Zendutyへのアラート送信

Zendutyはインシデント管理およびオンコールプラットフォームです。EMQXは専用のWebhook連携タイプを使ってZendutyに直接アラートを送信できます。

  1. Zendutyでサービスを作成し、Webhook URLを取得します。

    Zendutyではアラートは常にサービスに紐づいています。Zendutyコンソールにログインし、EMQX用の新しいサービスを作成し、そのサービスにWebhook連携を有効化してWebhook URLを生成してください。

    詳細はZendutyでの新規サービス追加をご参照ください。

  2. EMQXコンソールのデプロイメントに移動し、Alerts -> Alert Integrationsへ進み、Webhook integrationの下の**+ New**をクリックします。

  3. Add Webhookダイアログで以下を設定します:

    • 連携の名前を入力します。
    • TypeZendutyを選択します。
    • ZendutyのWebhook URLをURL欄に貼り付けます。
  4. Confirmをクリックして設定を保存します。

  5. Testボタンを使ってテストアラートを送信し、Zendutyでインシデントが正常に作成されることを確認します。

FlashDutyへのアラート送信

FlashDutyはインシデント対応およびオンコール管理プラットフォームです。EMQXはFlashDuty用の組み込みWebhookタイプを提供しており、簡単に連携できます。

  1. FlashDutyでアラート連携を作成し、生成されたWebhook URLをコピーします。詳細はFlashDutyオンコールクイックスタートをご参照ください。
  2. EMQXコンソールのデプロイメントに移動し、Alerts -> Alert Integrationsへ進み、Webhook integrationの下の**+ New**をクリックします。
  3. Add Webhookダイアログで以下を設定します:
    • 連携の名前を入力します。
    • TypeFlashDutyを選択します。
    • FlashDutyのWebhook URLをURL欄に貼り付けます。
  4. Confirmをクリックして設定を完了します。
  5. Testをクリックしてサンプルアラートを送信し、FlashDutyが正しく受信・処理することを確認します。

FlashDutyがアラートを受信すると、アラート詳細のLabelsセクションに以下の4つのラベルが表示されます。

ラベル説明
deployment_idアラートをトリガーしたEMQXデプロイメントID
levelEMQXデプロイメントのアラートレベル
messageアラートメッセージの内容
regionデプロイメントが存在するリージョン

FlashDutyのアラートの重大度はEMQXのアラートレベルから自動的に以下のようにマッピングされます。

EMQXアラートレベルFlashDutyアラートレベル
CriticalCritical
Error / WarningWarning
InfoInfo
flashduty_warning

カスタムサービスへのアラート送信(ジェネリックWebhook)

独自のサービスにアラートを転送する場合は、ジェネリックWebhookを使用できます。

  1. HTTP Webhookリクエストを受信・処理できるサービスのエンドポイントを用意します。
  2. EMQXコンソールでAlerts -> Alert Integrationsに移動し、Webhook integrationの下の**+ New**をクリックし、Generic Webhookを選択します。
  3. Add Webhookダイアログで以下を設定します:
    • 名前を入力します。
    • サービスのWebhook URLを入力します。
    • (必要に応じて)サービスが要求するカスタムHeadersをキー・バリュー形式で追加します。
  4. Confirmをクリックして設定を保存します。
  5. Test機能を使ってデフォルトのアラートを送信し、サービスが正常に受信できることを確認します。