Banco de Dados

1 ago, 2018

Novidades do MongoDB 4.0 – Monitoração Gratuita!

Publicidade

Nos últimos anos venho participando de projetos muito legais com o MongoDB, mas uma coisa sempre me “torrava a paciência”: monitoração. Um dos meus clientes chegou a criar um dashboard (fantástico, por sinal) para facilitar o meu trabalho.

E por que eu tinha problemas com a monitoração? Porque a maioria dos meus clientes utiliza a versão community, que não tinha uma ferramenta visual e gratuita para monitoração. Mas o MongoDB 4.0 trouxe uma novidade que me deixou bem contente: a possibilidade de monitorar a versão community usando uma ferramenta gráfica, gratuita e nativa.

Vamos esclarecer que, embora eu não tenha problemas para trabalhar com linhas de comando, a utilização de uma ferramenta gráfica aumenta a minha produtividade e simplifica meu trabalho.

A monitoração é importante porque me permite avaliar o estado do banco de dados. Além disso, me dá uma noção dos parâmetros operacionais normais do MongoDB, me permitindo diagnosticar problemas antes que eles se transformem em falhas.

A novidade

A monitoração gratuita acontece através da internet, ou seja, você não precisa instalar nada, basta habilitar a monitoração de uma das seguintes maneiras:

  • Em tempo de execução (com o mongod já iniciado)
    • Execute no Mongo Shell, os comandos:
      • db.enableFreeMonitoring() para iniciar a monitoração
      • db.disableFreeMonitoring() para parar a monitoração
  • Durante a inicialização do mongod, você tem duas opções:
    • Incluir a opção cloud.monitoring.free.state no arquivo de configuração.
    • Usar o parâmetro –enableFreeMonitoring na linha de comando de inicialização do mongod.
    • Em ambos os casos (linha de comando ou arquivo de configuração) os valores aceitos, são:
      • runtime: valor default que permite ativar ou desativar a monitoração em tempo de execução.
      • on: inicia a monitoração na inicialização do serviço, mas não permite desativá-la em tempo de execução.
      • off: desativa a monitoração na inicialização, independentemente de você ter inicializado anteriormente. Quando desativada na inicialização, você não pode ativar a monitoração em tempo de execução.

Depois de ativada, a monitoração permanecerá assim até que você a desative.

Se for necessário monitorar a monitoração (desculpem o trocadilho ridículo, mas não resisti), use os métodos:

  • db.getFreeMonitoringStatus() que retorna o status da monitoração
  • db.serverStatus() retorna informações do servidor, entre elas informações estatísticas da monitoração (no atributo freeMonitoring)

Informações monitoradas

As informações que podemos monitorar, são:

  • Tempos de execução das operações
  • Uso de memória
  • Utilização da CPU
  • Contagem de operações

Segurança

A monitoração acontece pela internet (e neste momento imagino o pessoal de Segurança da Informação tendo mini infartos). Eu também me assustei quando eu soube, mas me tranquilizei depois, porque:

  • Só temos acesso a dados de monitoração das últimas 24 horas.
  • Ao ativar a monitoração gratuita, você recebe uma URL exclusiva para monitorar o BD, e somente pessoas com as quais você compartilhar essa URL podem acessar a ferramenta.

Conclusão

A monitoração é essencial para todo DBA, e o MongoDB 4.0 tem esse recurso de forma gratuita na versão community, o que mostra um SGBD cada vez mais maduro.

Antes que você me pergunte se eu já usei em produção: ainda não! Mas estou na esperança de usar em breve, e acredito que o MongoDB 4.0 vai tornar meu trabalho bem mais fácil!

Referências e links úteis