Webhook アラート
EMQX ブローカーはWebhookベースのアラート連携をサポートしており、アラートイベントをサードパーティのインシデント管理(IM)ツールや独自のサービスに転送できます。
Webhook が正しく設定されているかどうかは、テスト機能を使ってサンプルアラートを送信することで確認できます。
EMQX CloudはPOSTリクエストを使用してWebhook URLにアラート通知を送信します。WebhookのエンドポイントがPOSTリクエストをサポートしていることを確認してください。
現在、EMQXは以下のWebhook連携をサポートしています:
- Slack
- Zenduty
- FlashDuty
- Generic Webhook(カスタムサービス)
Slack にアラートを送信する
- SlackでIncoming Webhookを作成し、Webhook URLを取得します。詳細はIncoming Webhooksを使ったメッセージ送信をご参照ください。
- EMQXコンソールのデプロイメントにアクセスし、Alerts -> Alert Integrationsに移動して、Webhook integrationの下にある**+ New**をクリックします。
- Add Webhookダイアログで以下を設定します:
- 連携のNameを入力します。
- TypeとしてSlackを選択します。
- SlackのWebhook URLをURL欄に貼り付けます。
- Confirmをクリックして設定を完了します。
- 設定を検証するために、TestをクリックしてSlackにデフォルトのアラートメッセージを送信します。
Zenduty にアラートを送信する
Zenduty はインシデント管理およびオンコールプラットフォームです。EMQX は専用の Webhook 連携タイプを使って Zenduty に直接アラートを送信できます。
Zenduty でサービスを作成し、Webhook URL を取得します。
Zendutyではアラートは常にサービスに紐づけられます。Zendutyコンソールにログインし、EMQX用の新しいサービスを作成して、そのサービスにWebhook連携を有効化するとWebhook URLが生成されます。
詳細は Zenduty での新規サービス追加 を参照してください。
EMQXコンソールのデプロイメントにアクセスし、Alerts -> Alert Integrationsに移動して、Webhook integrationの下にある**+ New**をクリックします。
FlashDuty にアラートを送信する
- 連携のNameを入力します。
- TypeとしてZendutyを選択します。
- ZendutyのWebhook URLをURL欄に貼り付けます。
FlashDuty でアラート連携を作成し、生成された Webhook URL をコピーします。詳細は FlashDuty オンコール クイックスタート を参照してください。
EMQX コンソールのデプロイメントに移動し、Alerts -> Alert Integrations に進み、Webhook integration の下の + New をクリックします。
Add Webhook ダイアログで以下を設定します。
- 連携の Name を入力します。
- Type に FlashDuty を選択します。
- FlashDuty の Webhook URL を URL フィールドに貼り付けます。
Confirm をクリックして設定を完了します。
Test をクリックしてサンプルアラートを送信し、FlashDuty が正しく受信・処理することを確認します。
Testボタンを使ってテストアラートを送信し、Zendutyでインシデントが正常に作成されることを確認します。
FlashDutyへのアラート送信
FlashDutyはインシデント対応およびオンコール管理プラットフォームです。EMQXは簡単に連携できるFlashDutyのWebhookタイプを内蔵しています。
- FlashDutyでアラート連携を作成し、生成されたWebhook URLをコピーします。詳細はFlashDuty On-call Quickstartをご参照ください。
- EMQXコンソールのデプロイメントにアクセスし、Alerts -> Alert Integrationsに移動して、Webhook integrationの下にある**+ New**をクリックします。
- Add Webhookダイアログで以下を設定します:
- 連携のNameを入力します。
- TypeとしてFlashDutyを選択します。
- FlashDutyのWebhook URLをURL欄に貼り付けます。
- Confirmをクリックして設定を完了します。
- Testをクリックしてサンプルアラートを送信し、FlashDutyが正しく受信・処理することを確認します。
FlashDutyがアラートを受信すると、アラート詳細のLabelsセクションに以下の4つのラベルが表示されます:
| ラベル | 説明 |
|---|---|
deployment_id | アラートをトリガーしたEMQXデプロイメントのID |
level | EMQXデプロイメントのアラートレベル |
message | アラートメッセージの内容 |
region | デプロイメントが所在するリージョン |
FlashDutyのアラート重大度はEMQXのアラートレベルから以下のように自動マッピングされます:
| EMQX アラートレベル | FlashDuty アラートレベル |
|---|---|
| Critical | Critical |
| Error / Warning | Warning |
| Info | Info |

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