AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Webhook との統合

プログラムによる処理のためにHTTP POST リクエストとして Webhook エンドポイントにアラート通知を送信するよう Atlas を構成できます。 Webhook を使用すると、Atlas アラートをカスタム モニタリング システム、インシデント マネジメント プラットフォーム、またはオートメーションワークフローと統合できます。

Atlas を Webhook と統合するには、プロジェクトへのOrganization Owner またはProject Owner アクセス権が必要です。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、 アイコンを Project Overview の横にあるをクリックします。

[ Project Settings ]ページが表示されます。

2

[Integrations] タブをクリックします。

プロジェクト統合ページが表示されます。

3
4

Webhook URLフィールドに、Atlas がアラート通知を送信するエンドポイントURLを入力します。

5

Webhook Secretフィールドに秘密鍵を入力します。 Atlas はこのシークレットを使用して、リクエスト検証用の X-MMS-Signature ヘッダーを生成します。

6

Webhook にアラートを送信するには、アラート通知を構成します。詳しくは、「 アラート設定の構成 」を参照してください。

Atlas には、 Webhookリクエストごとに次のHTTPヘッダーが含まれています。

ヘッダー
説明

X-MMS-Event

アラート状態を示します。可能な値は次のとおりです。

  • alert.open: Atlas はアラートを開始しました。

  • alert.close: Atlas はアラートを解決しました。

  • alert.update: 以前に開かれたアラートはまだ開いています。

  • alert.acknowledge: ユーザーがアラートを確認しました。

  • alert.cancel:アラートが無効になりました。 Atlas はそれをキャンセルしました。

  • alert.inform: 特定の時点のイベントである 情報アラートを表します。たとえば、「プライマリが選択されました」などです。

X-MMS-Signature

(任意)Webhook Secret フィールドにシークレットを指定する場合、Atlas にはこのヘッダーが含まれます。リクエスト本文の base64 でエンコードされた HMAC -SHA-1 署名が含まれます。 Atlas は提供されたシークレットを使用して署名を作成します。このヘッダーを使用して、WebhookリクエストがAtlas から発生したことを確認します。

リクエストボディには、 Atlas Administration APIアラートリソースと同じ形式を使用するJSONドキュメントが含まれています。ペイロードには、次のようなキー フィールドが含まれます。

  • id:アラートの一意の識別子。

  • eventTypeName:アラートをトリガーしたイベントのタイプ。

  • created:アラートが作成されたときのタイムスタンプ。

  • status:アラートの現在のステータス(例: OPENCLOSED)。

  • humanReadable:アラートの人間が判読可能な説明 。このフィールドには、「Project: [プロジェクト名] Organization: [org名]」形式のプロジェクト名と組織名、および他のアラートの詳細が含まれます。

フィールドの完全なリストについては、 Atlas Administration API がすべてのプロジェクト アラートを取得する ドキュメントを参照してください。

次の例は、ディスク容量アラートの Webhook ペイロードのサンプルを示しています。

{
"id": "5d1b6f8e8c2e4e2d3c4a5b6c",
"groupId": "5d1b6f8e8c2e4e2d3c4a5b6d",
"eventTypeName": "OUTSIDE_METRIC_THRESHOLD",
"status": "OPEN",
"created": "2024-01-15T10:30:00Z",
"updated": "2024-01-15T10:30:00Z",
"lastNotified": "2024-01-15T10:30:00Z",
"humanReadable": "Disk space used on data partition is 95.2%.
Project: MyProject Organization: MyOrganization",
"metricName": "DISK_PARTITION_SPACE_USED_DATA",
"currentValue": {
"number": 95.2,
"units": "RAW"
}
}

Webhook Secretフィールドには、Atlas がリクエスト検証用の X-MMS-Signature ヘッダーを生成するためにのみ使用するシークレットが保存されます。 Atlas は、認証ヘッダーまたはベアラー トークンとしてシークレットを直接送信しません。

Webhook エンドポイントに認証が必要な場合は、次のいずれかの方法を使用して個別に処理する必要があります。

  • クエリ パラメータ: クエリ パラメータとして の認証情報を含めます。例:Webhook URLhttps://example.com/webhook?token=your-auth-token

  • IPアクセス リスト: Atlas IPアドレスからのリクエストのみを受け入れるように Webhook エンドポイントを設定します。この構成により、Atlas のみがエンドポイントにリクエストを送信できるようになります。

  • 逆プロキシまたはAPIゲートウェイ: Webhook エンドポイントにリクエストを転送する前に認証を処理するリバース プロキシまたはAPIゲートウェイを使用します。

WebhookリクエストがAtlas から発生したことを確認するには、X-MMS-Signature ヘッダーを検証します。

1
3

一致する場合、リクエストは認証されます。

Webhook 統合を使用する場合は、次の制限を考慮してください。

Webhook ペイロードには、Atlas alertConfigIdで設定したアラート重大度レベルは含まれません。構成された重大度を取得するには、Webhook ペイロードの を使用して Atlas Administration API Get One Alert Configuration エンドポイントへの追加の呼び出しを行います。

Atlas には、テスト アラートを手動でトリガーする方法は提供されていません。 Webhook エンドポイントをテストするには、次のような簡単にトリガーできる条件でアラートを一時的に設定します。

  • テスト クラスター上の低ディスク容量しきい値。

  • 複数の接続を開くことでトリガーできる接続数のしきい値。

  • テストレプリカセットでのレプリケーションラグのしきい値。

Webhook がアラートを正しく受信したことを確認した後、テストアラート構成を削除できます。

ファイアウォールでIP アクセス リストを構成する必要がある場合は、Atlas IPアドレスからのアクセスを許可して、Atlas が Webhook エンドポイントと通信できるようにします。

Webhook がアラートを受信しない場合:

1
3

Atlas は他のステータス コードを失敗と見なします。

4
5