Skip to content

Webhook アラート

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

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

EMQX CloudはPOSTリクエストを使用してWebhook URLにアラート通知を送信します。WebhookのエンドポイントがPOSTリクエストをサポートしていることを確認してください。

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

  • Slack
  • Zenduty
  • FlashDuty
  • Generic Webhook(カスタムサービス)

Slack にアラートを送信する

  1. SlackでIncoming Webhookを作成し、Webhook URLを取得します。詳細はIncoming Webhooksを使ったメッセージ送信をご参照ください。
  2. EMQXコンソールのデプロイメントにアクセスし、Alerts -> Alert Integrationsに移動して、Webhook integrationの下にある**+ New**をクリックします。
  3. Add Webhookダイアログで以下を設定します:
    • 連携のNameを入力します。
    • TypeとしてSlackを選択します。
    • 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**をクリックします。

FlashDuty にアラートを送信する

  • 連携のNameを入力します。
  • TypeとしてZendutyを選択します。
  • ZendutyのWebhook URLをURL欄に貼り付けます。
  1. FlashDuty でアラート連携を作成し、生成された Webhook URL をコピーします。詳細は FlashDuty オンコール クイックスタート を参照してください。

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

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

    • 連携の Name を入力します。
    • TypeFlashDuty を選択します。
    • FlashDuty の Webhook URL を URL フィールドに貼り付けます。
  4. Confirm をクリックして設定を完了します。

  5. Test をクリックしてサンプルアラートを送信し、FlashDuty が正しく受信・処理することを確認します。

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

FlashDutyへのアラート送信

FlashDutyはインシデント対応およびオンコール管理プラットフォームです。EMQXは簡単に連携できるFlashDutyのWebhookタイプを内蔵しています。

  1. FlashDutyでアラート連携を作成し、生成されたWebhook URLをコピーします。詳細はFlashDuty On-call Quickstartをご参照ください。
  2. EMQXコンソールのデプロイメントにアクセスし、Alerts -> Alert Integrationsに移動して、Webhook integrationの下にある**+ New**をクリックします。
  3. Add Webhookダイアログで以下を設定します:
    • 連携のNameを入力します。
    • TypeとしてFlashDutyを選択します。
    • 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

カスタムサービスへのアラート送信(Generic Webhook)

独自のサービスにアラートを転送する場合は、Generic Webhookを利用できます。

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