Docs Menu
Docs Home
/ / /
Rust ドライバー
/ /

クラスター モニタリング

項目一覧

  • Overview
  • イベントの説明
  • イベント モニタリングの例
  • イベント ドキュメントの例
  • Server Description ChangedEvent
  • ServerOpenEvent
  • ServerClosedEvent
  • トポロジーの説明を変更したイベント
  • トポロジーを開くイベント
  • トポロジーが閉じたイベント
  • ServerHeartbeatStartedEvent
  • ServerハートビートSucceededEvent
  • ServerハートビートFailedEvent
  • 詳細情報
  • API ドキュメント

このガイドでは、Rust ドライバーを使用して MongoDB インスタンス、レプリカセット、またはシャーディングされたクラスター内のトポロジー イベントを監視する方法を説明します。 ドライバーは、接続しているインスタンスまたはクラスターの状態が変更されたときに、サーバー検出とモニタリング(SDAM)イベントとも呼ばれるトポロジー イベントを作成します。

アプリケーション内のトポロジーの変更に関する情報を使用することも、クラスターの変更を監視して、アプリケーションにどのように影響するかをより詳しく知ることもできます。

このガイドには、次のセクションが含まれています。

  • イベントの説明では、ドライバーが生成できる SDAM イベントについて説明します。

  • イベント サブスクリプションの例」 では、SDAM イベントをサブスクライブする方法を示すサンプル コードが提供されています。

  • サンプルイベント ドキュメントでは、各 SDAM イベントのサンプルが提供されています。

  • 追加情報では、このガイドで言及されている型とメソッドのリソースとAPIドキュメントへのリンクを提供します。

次の SDAM イベントを監視できます。

イベント名
説明
レプリカセット ノードがセカンダリからプライマリに変更された場合など、インスタンス状態が変更されたときに作成されます。
レプリカセット ノードなどの インスタンスへの接続が開いたときに作成されます。
レプリカセット ノードなどのインスタンスへの接続が閉じたときに作成されます。
新しいプライマリの選出がある場合や mongosプロキシが 切断 された場合など、トポロジーの説明が変更されたときに作成されます。
ドライバーが インスタンスに接続しようとする前に作成されます。
トポロジー内のすべてのインスタンス接続が閉じた後に作成されます。
ドライバーが インスタンスにhelloコマンドを発行する前に作成されます。
helloコマンドが MongoDB インスタンスから正常に返されたときに作成されます。
MongoDB インスタンスに対するhelloコマンドが成功した応答を返さない場合に作成されます。

SDAM イベントを監視するには、 sdam_event_handlerクライアント オプションの値としてEventHandlerインスタンスを割り当てます。 EventHandlerすべての SDAM イベントを処理するcallback() async_callback()を構築するには、 メソッドまたは メソッドを使用します。

次の例では、MongoDB 配置に接続し、クライアントに SDAM イベントを監視するように指示して、各イベントを出力します。

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.sdam_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

次のセクションは、各 SDAM イベントのタイプごとのサンプル出力を示しています。

ServerDescriptionChangedEvent {
address: ...,
topology_id: ...,
previous_description: ...,
new_description: ...,
}
ServerOpeningEvent {
address: ...,
topology_id: ...,
}
ServerClosedEvent {
address: ...,
topology_id: ...,
}
TopologyDescriptionChangedEvent {
topology_id: ...,
previous_description: ...,
new_description: ...,
}
TopologyOpeningEvent {
topology_id: ...,
}
TopologyClosedEvent {
topology_id: ...,
}
ServerHeartbeatStartedEvent {
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}
ServerHeartbeatSucceededEvent {
duration: ...,
reply: ...,
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}
ServerHeartbeatFailedEvent {
duration: ...,
failure: ...,
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}

MongoDB 配置のモニタリングの詳細については、「 MongoDB をモニタリングする方法 」に関する記事を参照してください。

MongoDB への接続の詳細については、「 接続ガイド 」を参照してください。

このガイドで言及されているメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。

戻る

モニタリング