Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Monitorar MongoDB com SNMP no Linux

Nesta página

  • Visão geral
  • Considerações
  • Arquivos de configuração
  • Procedimento
  • Opcional: execute o MongoDB como SNMP Master

Observação

Funcionalidade de empresas

O SNMP só está disponível no MongoDB Enterprise.

O MongoDB Enterprise pode fornecer métricas de banco de dados de dados via SNMP, em suporte à coleta e agregação centralizadas de dados. Este procedimento explica a instalação e a configuração de uma instância mongod como um subagente do SNMP, bem como a inicialização e o teste do suporte ao SNMP com o MongoDB Enterprise.

Dica

Veja também:

Solucione problemas de SNMP e monitore o MongoDB Windows com SNMP para obter instruções completas sobre como usar o MongoDB com SNMP em sistemas Windows.

  • O suporte SNMP só está disponível em mongod. Outras ferramentas MongoDB, como mongos , não suportam SNMP.

  • mongod não suporta o uso de capturas SNMP.

O MongoDB Enterprise inclui os seguintes arquivos de configuração SNMP:

  • MONGOD-MIB.txt:

    O arquivo da base de informações de gerenciamento (MIB) que define a saída SNMP do MongoDB. Em plataformas Ubuntu e Debian, este arquivo é enviado compactado como MONGOD-MIB.txt.gz e deve ser descompactado com gunzip.

  • mongod.conf.subagent:

    O arquivo de configuração para executar o mongod como o subagente SNMP. Este arquivo define as opções de configuração de tempo de execução do SNMP, incluindo o agentXSocket para se conectar ao mestre SNMP.

  • mongod.conf.master:

    O arquivo de configuração para executar o mongod como o mestre SNMP. Este arquivo define as opções de configuração de tempo de execução do SNMP, incluindo o agentaddress para ser executado.

Os arquivos de configuração SNMP do MongoDB são fornecidos com a instalação do MongoDB Enterprise, da seguinte forma:

  • Se você instalou o MongoDB Enterprise por meio de um gerenciador de pacotes, esses arquivos serão instalados no seguinte diretório como parte do processo de instalação do pacote:

    Plataforma
    Caminho
    RHEL / CentOS
    /usr/share/doc/mongodb-enterprise-server-5.0.29
    Ubuntu/Debian
    /usr/share/doc/mongodb-enterprise-server
    SUSE
    /usr/share/doc/packages/mongodb-enterprise-server
  • Se você instalou o MongoDB Enterprise a partir de um tarball .tgz , esses arquivos foram incluídos no tarball.

1

Copie os arquivos de configuração SNMP do MongoDB do local de instalação para os diretórios de destino, de acordo com a sua plataforma:

  1. Navegue até o local onde os arquivos SNMP foram instalados. Por exemplo, se você instalou a versão mais recente do MongoDB por meio do gerenciador de pacotes yum :

    cd /usr/share/doc/mongodb-enterprise-server-5.0.29
  2. Copie os dois arquivos SNMP do MongoDB para seus diretórios de destino:

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. Navegue até o local onde os arquivos SNMP foram instalados. Por exemplo, se você instalou o MongoDB por meio do gerenciador de pacotes apt :

    cd /usr/share/doc/mongodb-enterprise-server
  2. Copie o arquivo MONGOD-MIB.txt.gz para seu diretório de destino e descompacte-o:

    sudo cp MONGOD-MIB.txt.gz /usr/share/snmp/mibs/
    sudo gunzip /usr/share/snmp/mibs/MONGOD-MIB.txt.gz
  3. Copie o arquivo mongod.conf.subagent para seu diretório de destino:

    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. Navegue até o local onde os arquivos SNMP foram instalados. Por exemplo, se você instalou a versão mais recente do MongoDB por meio do gerenciador de pacotes zypper :

    cd /usr/share/doc/packages/mongodb-enterprise-server
  2. Copie os dois arquivos SNMP do MongoDB para seus diretórios de destino:

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
2

Edite o arquivo /etc/snmp/snmpd.conf e adicione o seguinte:

# sec.name source community
com2sec local localhost mongodb
# group.name sec.model sec.name
group MyRWGroup any local
# incl/excl subtree mask
view all included .1 80
# context sec.model sec.level prefix read write notif
access MyRWGroup "" any noauth 0 all all all
master agentx
AgentXSocket /tmp/agentx/master
AgentXPerms 0777 0777 mongod mongod
  1. Instale o snmpd se ainda não estiver instalado:

    sudo apt-get install snmpd
  2. Edite o arquivo /etc/snmp/snmpd.conf e adicione o seguinte:

    # sec.name source community
    com2sec local localhost mongodb
    # group.name sec.model sec.name
    group MyRWGroup any local
    # incl/excl subtree mask
    view all included .1 80
    # context sec.model sec.level prefix read write notif
    access MyRWGroup "" any noauth 0 all all all
    AgentXSocket /tmp/agentx/master
    AgentXPerms 0777 0777 mongodb mongodb

Edite o arquivo /etc/snmp/snmpd.conf e adicione o seguinte:

# sec.name source community
com2sec local localhost mongodb
# group.name sec.model sec.name
group MyRWGroup any local
# incl/excl subtree mask
view all included .1 80
# context sec.model sec.level prefix read write notif
access MyRWGroup "" any noauth 0 all all all
master agentx
AgentXSocket /tmp/agentx/master
AgentXPerms 0777 0777 mongod mongod

Essa configuração define um soquete de domínio UNIX para comunicação entre o agente (snmpd) e o sub-agente (MongoDB) e define permissões SNMP básicas para acessar o campo SNMP relevantes do MongoDB.

Observação

Para vincular seu mestre a um endereço IP que não seja localhost, adicione esse endereço IP ao campo agentaddress no arquivo /etc/snmp/snmpd.conf e atualize as ACLs de segurança de rede apropriadas para permitir um intervalo de endereços válido. Um intervalo de endereços de 10.0.0.0/8 com um nome de segurança de "mynetwork" foi fornecido no arquivo de configuração do mongod.conf.master como um exemplo.

A configuração acima é fornecida apenas como exemplo; você pode personalizar as permissões com base nos requisitos de segurança do seu site. Embora o suporte do MongoDB possa fornecer orientações sobre como configurar o MongoDB para SNMP, a configuração do SNMP em sistemas operacionais está fora de escopo.

3

Inicie o SNMP em seu sistema usando o sistema de inicialização apropriado para sua versão do Linux:

  • Para sistemas Linux utilizando systemd (comando systemctl ):

    sudo systemctl start snmpd
  • Para sistemas Linux usando o System V init (comando service ):

    sudo service snmpd start
4

Inicie mongod com o snmp-subagent para enviar dados para o mestre SNMP.

mongod --snmp-subagent
5

Verifique se o MongoDB está acessível para query SNMP com o comando de teste snmpwalk .

  1. Instale o snmpwalk no seu sistema:

    sudo yum install net-snmp-utils
  2. Execute snmpwalk com os seguintes parâmetros para verificar a capacidade de coletar dados de mongod:

    snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
  1. Debian : se necessário, adicione o repositório non-free ao seu arquivo /etc/apt/sources.list para acessar o pacote snmp-mibs-downloader. Por exemplo, no Debian 9 "Stretch", as entradas do repositório principal podem ter a seguinte aparência:

    deb http://deb.debian.org/debian stretch main non-free
    deb-src http://deb.debian.org/debian stretch main non-free
  2. Debian / Ubuntu: Instale o pacote snmp-mibs-downloader para fornecer os arquivos MIB necessários e, em seguida, reinicie o serviço snmpd para recarregar os novos arquivos MIB:

    sudo apt-get update
    sudo apt-get -y install snmp-mibs-downloader
    sudo service snmpd restart
  3. Debian / Ubuntu: execute snmpwalk com os seguintes parâmetros para verificar a capacidade de coletar dados do mongod:

    snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601

O comando snmpwalk deve exibir os valores atuais para campos SNMP como sysUpTime e memoryResident, entre outros.

Observação

A porta usada no comando de teste snmpwalk acima, porta 161, é a porta padrão para o serviço snmpd , não a port principal para o mongod . Se você configurou uma porta diferente para seu serviço do snmpd , forneça-a aqui.

Você pode executar mongod com a opção snmp-master para fins de teste. Para fazer isso, use o arquivo de configuração mestre SNMP em vez do arquivo de configuração subagente. No diretório que contém os arquivos de instalação do MongoDB descompactados:

cp mongod.conf.master /etc/snmp/mongod.conf

Observação

Para vincular seu mestre a um endereço IP que não seja localhost, adicione esse endereço IP ao campo agentaddress no arquivo /etc/snmp/mongod.conf e atualize as ACLs de segurança de rede apropriadas para permitir um intervalo de endereços válido. Um intervalo de endereços de 10.0.0.0/8 com um nome de segurança de "mynetwork" foi fornecido no arquivo de configuração mestre como um exemplo.

Em seguida, inicie mongod com a opção snmp-master :

mongod --snmp-master

Voltar

Perguntas frequentes: diagnósticos