Docs Menu
Docs Home
/ /

Monitoreo de clústeres

Esta guía le muestra cómo usar el controlador de Rust para monitorizar eventos de topología en una instancia de MongoDB, un conjunto de réplicas o un clúster fragmentado. El controlador crea eventos de topología, también conocidos como eventos de Descubrimiento y Monitoreo de Servidores (SDAM), cuando se produce algún cambio en el estado de la instancia o el clúster al que está conectado.

Puede utilizar información sobre los cambios de topología en su aplicación o puede monitorear los cambios del clúster para obtener más información sobre cómo afectan su aplicación.

Esta guía incluye las siguientes secciones:

  • Descripciones de eventos describe los eventos SDAM que el controlador puede generar.

  • El ejemplo desuscripción a eventos proporciona un código de muestra que muestra cómo suscribirse a eventos SDAM.

  • Ejemplo de documentos de eventos proporciona muestras de cada evento SDAM.

  • Información adicional proporciona enlaces a recursos y documentación de API para los tipos y métodos mencionados en esta guía.

Puede supervisar los siguientes eventos SDAM:

Nombre del evento
Descripción

Se crea cuando cambia el estado de una instancia, como cuando un miembro del conjunto de réplicas cambia de secundario a principal.

Se crea cuando se abre una conexión a una instancia, como un miembro del conjunto de réplicas.

Se crea cuando se cierra una conexión a una instancia, como un miembro del conjunto de réplicas.

Se crea cuando cambia la descripción de la topología, como cuando hay una elección de un nuevo primario o cuando un mongos El proxy se desconecta.

Se crea antes de que el controlador intente conectarse a una instancia.

Se crea después de que se cierran todas las conexiones de instancia en la topología.

Se crea antes de que el controlador emita un comando hello a una instancia.

Se crea cuando el comando hello regresa exitosamente desde una instancia de MongoDB.

Se crea cuando un comando hello a una instancia de MongoDB no devuelve una respuesta exitosa.

Puede supervisar eventos SDAM asignando una instancia EventHandler como valor de la opción de cliente sdam_event_handler. Para construir una instancia EventHandler que procese todos los eventos SDAM, utilice el método callback() o async_callback().

El siguiente ejemplo se conecta a una implementación de MongoDB, le indica al cliente que monitoree los eventos SDAM e imprime cada evento:

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

Las siguientes secciones muestran la salida de ejemplo para cada tipo de evento 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: ...,
}

Para obtener más información sobre cómo monitorear una implementación de MongoDB, consulte el artículo Cómo monitorear MongoDB.

Para obtener más información sobre cómo conectarse a MongoDB, consulte Guía de conexión.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API:

Volver

Async & Sync APIs