DII通知Webhookで「Webhookをテスト」をクリックすると、HTTP 400 Bad Requestが返される
環境
- Data Infrastructure Insights(DII)
問題
- DII通知ウェブフックでTest Webhookをクリックすると、
HTTP 400 Bad Requestが返されます。 - ウェブフックの設定が正しく見える場合や、ライブアラートの配信が正常に機能している場合でも、エラーが発生します。
- PagerDuty、Slack、Microsoft Teams、およびその他のJSONウェブフック連携でよく見られます。
原因
- DIIのTest Webhook機能は、エディタに書かれた通りにメッセージ本文を送信します。
- Test Webhookは、デフォルトのアラートパラメータ(例:
%%alertId%%、%%severity%%、%%triggeredOn%%)やカスタムシークレット(例:%%routingKey%%)の置き換えは行いません。 - サードパーティのエンドポイントは必須フィールドを検証し、プレースホルダーの値を拒否するため、結果として
HTTP 400になります。
解決策
- 置換値を必要とする統合では、Test Webhookを唯一の検証方法として使用しないでください。
- 手動でテストするには、メッセージ本文内のプレースホルダーを一時的に有効なリテラル値(有効な PagerDuty Integration Key、
warningなどの有効な重大度、空でないソース)に置き換えて、Test Webhookを実行し、保存する前にプレースホルダーを元に戻します。 - 本番環境での動作を検証するには、実際のモニターアラートをトリガーし、Admin > Notifications > Webhooks で Status 列と Last Reported 列を確認します。
- サポートされているパラメータとテンプレートの例については、DII Webhookドキュメントを参照してください。
パートナーノート
追加情報
- Test Webhook の動作とパラメータの使用方法については、Webhook を使用した通知を参照してください。
- PagerDuty 固有の設定については、PagerDuty の Webhook の例を参照してください。
内部情報
- ケース番号2010762847に端を発する。
- サポートと顧客は当初、Test Webhook
400の応答を本番環境アラートの障害として解釈していました。