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

Webhooks との統合

Atlas を構成して、プログラムによるプロセシングのためにアラート通知を HTTP POST リクエストとしてウェブフック エンドポイントに送信できます。ウェブフックを使用すると、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

FreeMarker テンプレートを使用して、リクエスト ヘッダーとボディ コンテンツをカスタマイズできます。

  1. Webhook Headers Template フィールドに FreeMarker テンプレートを入力して、ウェブフック リクエストとともに送信される HTTP ヘッダーをカスタマイズします。

  2. Webhook Body Template フィールドに FreeMarker テンプレートを入力して、リクエストボディの構造をカスタマイズします。

テンプレートを構成した場合、その後に Webhook 統合を表示または編集すると、テンプレートは ****** で隠されて表示されます。抽出されたテンプレートは新しい値で上書きできます。

Atlas は構成を保存するときに フリーマークの構文を検証します。テンプレートに 無効な構文が含まれている場合、フォームには インライン検証エラー が表示されます。

7

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

Atlas は、各ウェブフック リクエストに次の 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 は提供されたシークレットを使用して署名を生成します。このヘッダーを使用して、ウェブフック リクエストが Atlas から発信されたことを確認します。

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

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

  • eventTypeName: アラートをトリガーするイベントの種類。

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

  • status: アラートの現在の状態(例:OPENCLOSED)。

  • humanReadable: アラートの人間が読み取り可能な説明。このフィールドには、プロジェクト名と組織名が "プロジェクト: [プロジェクト名] 組織: [組織名]" の形式で含まれ、その他のアラート詳細も含まれます。

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

次の例は、ディスク スペース アラートのサンプル ウェブフック ペイロードを示しています。

{
"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 はシークレットを認証ヘッダーまたは Bearer token として直接送信しません。

ウェブフックエンドポイントで認証が必要な場合は、次のいずれかの方法を使用して独自に取り扱う必要があります。

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

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

  • リバース プロキシまたは API ゲートウェイ: リバース プロキシまたは API ゲートウェイを使用して、リクエストをウェブフック エンドポイントとなる接続されたデバイスに転送する前に認証を取り扱います。

ウェブフックリクエストがAtlasから発信されたものであることを確認するには、X-MMS-Signature ヘッダーを検証します。

1
2
3

一致する場合、リクエストは正規です。

ウェブフック統合を使用する場合は、次の制約事項を考慮してください。

Webhook ペイロードには、Atlas で構成したアラートの重大度レベルは含まれません。構成された重大度を検索するには、Webhook ペイロードの alertConfigId を使用して、Atlas Administration API の Get One Alert Configuration エンドポイントとなる接続されたデバイスに追加の呼び出しを行います。

Atlasには、テストアラートを手動でtriggerする方法はありません。Webhookのエンドポイントとなる接続されたデバイスをテストするには、次のような、triggerされやすい条件のアラートを一時的に設定できます。

  • テスト クラスターのディスク空間が少ない場合のしきい。

  • 複数の接続を開くことで trigger できる接続数のスレッショル。

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

ウェブフックがアラートを正しく受信していることを確認した後、テスト アラート構成を削除できます。

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

ウェブフックがアラートを受信しない場合:

1
2
3

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

4
5