Menu Docs
Página inicial do Docs
/ / /
Driver Rust
/ /

Monitoramento de clusters

Nesta página

  • Visão geral
  • Descrições de evento
  • Exemplo de monitoramento de eventos
  • Documentos de exemplos de eventos
  • ServerDescriptionChangedEvent
  • ServerOpeningEvent
  • ServerClosedEvent
  • TopologiaDescriptionChangedEvent
  • TopologiaOpeningEvent
  • TopologiaClosedEvent
  • ServerHeatbeatStartedEvent
  • ServerHeatbeatSucceededEvent
  • ServerHeatbeatFailedEvent
  • Informações adicionais
  • Documentação da API

Este guia mostra como usar o driver Rust para monitorar eventos de topologia em uma instância MongoDB, conjunto de réplicas ou cluster fragmentado. O driver cria eventos de topologia, também conhecidos como eventos de descoberta e monitoramento de servidor (SDAM), quando há alguma alteração no estado da instância ou cluster ao qual você está conectado.

Você pode usar informações sobre alterações de topologia em seu aplicativo ou monitorar as alterações do cluster para saber mais sobre como elas afetam seu aplicativo.

Este guia inclui as seguintes seções:

  • Descrições de eventos descreve os eventos SDAM que o driver pode gerar.

  • Exemplo de inscrição de eventos fornece código de exemplo que mostra como se inscrever em eventos SDAM.

  • Documentos de exemplos de eventos fornecem amostras de cada evento SDAM.

  • Informações adicionais fornecem links para recursos e documentação de API para os tipos e métodos mencionados neste guia.

Você pode monitorar os seguintes eventos SDAM:

Nome do evento
Descrição
Criado quando o estado de uma instância é alterado, como quando um membro do conjunto de réplicas muda de um secundário para um primário.
Criado quando uma conexão com uma instância, como um membro do conjunto de réplicas, é aberta.
Criado quando uma conexão com uma instância, como um membro do conjunto de réplicas, é fechada.
Criado quando a descrição da topologia é alterada, como quando há uma eleição de um novo primário ou quando um proxy mongos se desconecta.
Criado antes do driver tentar se conectar a uma instância.
Criado após o fechamento de todas as conexões de instância na topologia.
Criado antes do driver emitir um comando hello para uma instância.
Criado quando o comando hello retorna com sucesso de uma instância do MongoDB.
Criado quando um comando hello para uma instância MongoDB não retorna uma resposta bem-sucedida.

Você pode monitorar eventos SDAM atribuindo uma instância EventHandler como o valor da opção sdam_event_handler do cliente. Para construir um EventHandler, que processa todos os eventos SDAM, use o método callback() ou async_callback() .

O exemplo a seguir se conecta a um sistema MongoDB, instrui o cliente a monitorar 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

As seções a seguir mostram amostras de saída 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 saber mais sobre como monitorar uma MongoDB deployment, consulte o artigo Como monitorar o MongoDB .

Para saber mais sobre como se conectar ao MongoDB, consulte oGuia de Conexão .

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo:

Voltar

Monitoramento