Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver Pymongo
/

Monitoramento

Neste guia, você pode aprender como configurar o monitoramento no PyMongo usando a interface baseada em chamadas de resposta do PyMongo. Monitoramento é o processo de coleta de informações sobre o comportamento do seu aplicativo durante a execução. Estas informações podem ajudá-lo a tomar decisões informadas ao projetar e depurar seu aplicação. Você também pode usar informações de eventos de monitoramento para acompanhar o desempenho do seu aplicativo e o uso de recursos.

O driver fornece informações sobre sua aplicação emitindo eventos. Você pode ouvir os eventos do driver para monitorar seu aplicação.

Observação

Registro de eventos

Esta página explica como monitorar seu aplicação no código. Para saber como registrar essas informações em um registro externo, consulte o guiade registro .

O tipo de evento que o driver emite depende da operação que está sendo executada. A tabela a seguir descreve os tipos de eventos que o driver emite:

eventType
Descrição

Eventos de comando

Eventos relacionados aos comandos do banco de dados MongoDB , como find, insert, delete e count. Para saber como usar o PyMongo para executar um comando de banco de dados, consulte Executar um comando de banco de dados . Para obter mais informações sobre os comandos do banco de dados MongoDB ,consulte Comandos do banco de dados no manual do MongoDB Server .

Como medida de segurança, o driver redige o conteúdo de alguns eventos de comando. Isso protege as informações confidenciais contidas nesses eventos de comando.

Eventos de descoberta e monitoramento de servidor (SDAM)

Eventos relacionados a alterações no estado da implantação do MongoDB .

Eventos do pool de conexões

Eventos relacionados ao pool de conexões mantido pelo driver.

Para obter uma lista completa de eventos que o driver emite, consulte a documentação da API pymongo.monitoring.

Para monitorar um evento, você deve passar um ouvinte de evento para o MongoClient do seu aplicativo. As etapas a seguir descrevem como monitorar seu aplicação usando um ouvinte de evento :

  1. Crie uma classe que herde de uma das classes básicas de ouvinte de evento fornecidas pelo PyMongo. A classe base escolhida depende do tipo de evento que você deseja monitorar. Por exemplo, para monitorar eventos de comando, crie uma classe que herde de CommandListener.

  2. Implemente os métodos da classe base que correspondem aos eventos que você deseja monitorar.

  3. Passe uma instância da sua classe de ouvinte para o construtor MongoClient .

O código a seguir implementa um CommandListener para escutar eventos de comando, um ServerListener para escutar eventos SDAM e um ConnectionPoolListener para escutar eventos do pool de conexões :

class MyCommandListener(CommandListener):
def succeeded(self, event: CommandSucceededEvent):
print(f"Command {event.command_name} succeeded")
# Include other event method implementations here
class MyServerListener(ServerListener):
def heartbeat_started(self, event: ServerHeartbeatStartedEvent):
print(f"Heartbeat started on server with id: {event.connection_id}")
# Include other event method implementations here
class MyPoolListener(ConnectionPoolListener):
def connection_created(self, event: ConnectionCreatedEvent):
print(f"Connection {event.connection_id} created")
# Include other event method implementations here
listeners = [MyCommandListener(), MyServerListener(), MyPoolListener()]
client = MongoClient("<connection URI>", event_listeners=listeners)

Para saber mais sobre os métodos e classes utilizados para monitorar eventos no driver, consulte a seguinte documentação da API:

Voltar

Monitoramento e registro

Nesta página