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

Cloud Managerでの Webhook との統合

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

Cloud Manager をWebhook と統合するには、プロジェクトへのProject Monitoring Admin アクセス権が必要です。

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

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

  3. サイドバーで、Project Settings をクリックします。

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

2

サイドバーで、 Settings見出しの下のIntegrationsをクリックします。

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

3
4

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

5

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

6

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

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

Cloud Manager は、さまざまなアラート状態を区別するためにX-MMS-Eventというリクエスト ヘッダーを追加します。 このヘッダーに指定できる値は次のとおりです。

alert.open

アラートは先ほど開かれています。

alert.close

アラートは解決されました。

alert.update

以前に開かれたアラートはまだ開いています。

alert.acknowledge

アラートは確認されました。

alert.cancel

アラートは無効になり、キャンセルされました。

alert.inform

「プライマリ選択」など、特定の時点のイベントである情報アラートを表します。

Webhook Secretフィールドにキーを指定すると、 MongoDB Cloud Manager はX-MMS-Signatureリクエストヘッダーを追加します。このヘッダーには、リクエスト本文の base64 エンコードされた HMAC -SHA-1 署名が含まれています。 MongoDB Cloud Manager は、提供されたシークレットを使用して署名を作成します。

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

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

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

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

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

  • humanReadable:アラートの人間が判読可能な説明 。

フィールドの完全なリストについては、 Get One Alert エンドポイントのドキュメント を参照してください。

次の例は、 メトリクスしきい値アラートのサンプル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%.",
"metricName": "DISK_PARTITION_SPACE_USED_DATA",
"currentValue": {
"number": 95.2,
"units": "RAW"
}
}

ウェブフック通知の webhookHeadersTemplate および webhookBodyTemplate フィールドを設定することで、ウェブフック リクエスト ヘッダーとボディコンテンツをカスタマイズできます。各テンプレートは ${field} 補間をサポートしています。Cloud Manager は、通知を送信するときに、各 ${field} プレースホルダーをアラート ドキュメントの一致するフィールドの値で置き換えます。

アラート ドキュメントが返すフィールド(${eventTypeName}、${clusterName}、${status}、${created} など)はすべて補間できます。補間できるフィールドの完全なリストについては、アラートの取得エンドポイントとなる接続されたデバイスの応答フィールドを参照してください。

例えば、ボディ テンプレート {"event": "${eventTypeName}", "cluster": "${clusterName}"} は、Cloud Manager がリクエストを送信する前に、各プレースホルダーをアラート値でレンダーします。

レンダリングされるボディは有効なJSONである必要があり、Content-Type: application/json ヘッダーとともに送信されます。レンダリングされたヘッダーは、各ヘッダー名をその値にマッピングするJSONオブジェクトを形式する必要があります。 Cloud Manager はWebhook シークレットまたは署名ヘッダーをテンプレートに公開せず、 API応答内の両方のテンプレート フィールドを編集します。

テンプレートのレンダリングに失敗したり、サイズ制限を超えたり、無効な出力が生成された場合、 Cloud Manager は代わりにデフォルトのペイロードとヘッダーを送信し、通知を引き続き配信します。

アラートを保存する前にレンダーされた出力をプレビューするには、サンプル アラート データに対してテンプレートをレンダーする Post test message to webhook ボタンをクリックします。

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

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

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

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

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

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

1
2
3

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

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

Webhook ペイロードには、 Cloud Managerで設定したアラート重大度レベルは含まれていません。構成された重大度を取得するには、Webhook alertConfigIdペイロードから を使用して、1 つのアラート構成を取得する エンドポイントを追加で呼び出します。

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

  • テスト環境の低ディスク容量しきい値。

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

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

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

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

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

1
3

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

4
5
このページを評価