AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Webhooks との統合

プログラムによる処理のために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

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

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

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

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

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

7

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

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: アラートの現在の状態(例:OPEN、CLOSED)。

  • severity:アラートの重大度。 Atlas はアラートが開いたときにこの値を設定します。 Atlas が重大度を決定する方法については、「 重大度レベル 」を参照してください。

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

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

すべてのプロジェクト アラートを返す エンドポイントと 1 つのアラートを返すseverity エンドポイントも、各アラートに対して解決された を返します。この値は、Atlas が Webhook、PagerDuty、および Opsgenie 通知ペイロードに含める重大度と一致します。

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

{
"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
3

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

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

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

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

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

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

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

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

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

1
2
3

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

4
5
このページを評価