MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Monitorando o Servidor Percona para MongoDB - Principais Métricas

Ao executar serviços de banco de dados críticos em produção, precisamos conhecer e monitorar o banco de dados. Você precisa entender as principais métricas no banco de dados que está usando. Por exemplo, quando você executa o MongoDB com um mecanismo de armazenamento WiredTiger, você precisa saber conexões, autenticação, operações, atraso de replicação, falhas de página, bloqueio, etc.

Neste blog, explicaremos algumas das principais métricas usadas para monitorar o Percona Server for MongoDB.

Conexões de banco de dados

As conexões de banco de dados são uma das principais métricas importantes em qualquer banco de dados. Ele monitora suas conexões/threads atuais dos aplicativos para o banco de dados. Você pode verificar as conexões atuais através do comando abaixo:

> db.serverStatus().connections

Ele fornece uma ideia de quanto seus aplicativos estão acessando o banco de dados. Um pico repentino no número de conexões pode causar problemas ao seu problema de servidores de banco de dados. É esperado ou não?.

ClusterControl fornece informações relacionadas às conexões conforme mostrado abaixo:

Operações de Comando

As métricas de operações de comando monitoram suas operações atuais, seja inserir, atualizar, excluir ou selecionar. Você pode monitorar as operações de comando atuais executando o comando abaixo:

>db.serverStatus().opcounters

A partir das operações de comando, você realmente pode ver a carga de trabalho do seu aplicativo, se é leitura ou gravação pesada. Desse ponto de vista, você pode tomar algumas decisões, por exemplo, se tiver tráfego de leitura pesado, convém dimensionar os nós secundários para distribuir as consultas de leitura.

Monitorar as operações do comando no ClusterControl é simples, você só precisa habilitar o Agent Based Monitoring para ver as métricas do OpsCounter no painel do MongoDB Server conforme mostrado abaixo:

Atrasos do conjunto de réplicas

Quando você executa a arquitetura ReplicaSet ou ShardCluster, uma métrica importante importante é o atraso de replicação. O atraso de replicação ocorre quando os nós secundários não conseguem acompanhar os dados que estão sendo gravados no nó primário. As razões para isso podem variar de latência de rede, taxa de transferência de disco, consultas lentas, etc.

Você pode verificar as informações de atraso de replicação atuais executando o comando abaixo no nó primário:

> rs.printSlaveReplicationInfo() 

As métricas de informações de atraso estão em segundos, portanto, em conexões simultâneas pesadas, pode demorar alguns segundos em nós secundários, pois a replicação no mongodb é assíncrona.

No ClusterControl, as métricas Max Replication Lag podem ser encontradas no MongoDB Replicaset painel de monitoramento.

Falhas de página

As falhas de página ocorrem principalmente em aplicativos de alta carga simultânea e alta. As falhas de página acontecem quando o processo mongodb deseja obter os dados, mas eles não estão disponíveis na memória, então o servidor mongodb lê os dados do disco.

Para monitorar o estado atual das falhas de página, você pode usar o comando abaixo:

>db.serverStatus().extra_info.page_faults

Dá a você o número de falhas de página. O valor pode aumentar durante a carga pesada e o servidor pode apresentar desempenho insatisfatório. Você também pode querer verificar o log de consulta lenta.

Bloqueando

O bloqueio também é uma métrica importante no MongoDB, geralmente acontece em aplicativos de alta carga com várias transações no mesmo conjunto de dados. O bloqueio pode causar sérios problemas de desempenho.

Você pode verificar as operações de bloqueio atuais no banco de dados usando o comando abaixo:

>db.currentOp()

Quando executamos o comando db.currentOp(), há algumas informações relacionadas ao bloqueio. O ClusterControl monitora o Global Lock em seu painel do MongoDB, conforme mostrado abaixo:

Conclusão


Essas são algumas das principais métricas importantes a serem monitoradas no Percona Server for MongoDB. Eles fornecem uma visão em tempo real do que está acontecendo no servidor e podem descobrir quaisquer anomalias sobre as quais você possa agir. ClusterControl fornece alguns painéis que lhe dão visibilidade de seus bancos de dados MongoDB.