Docs Menu
Docs Home
/ /
Monitoring
/ / / /

Supervisa MongoDB con SNMP en Linux

Nota

Función empresarial (obsoleta)

A partir de MongoDB 6.0, SNMP está en desuso y será eliminado en la próxima versión. Para supervisar tu implementación, utiliza MongoDB Ops Manager.

SNMP solo está disponible en MongoDB Enterprise.

MongoDB Enterprise puede proporcionar métricas de bases de datos mediante SNMP, lo que facilita la recopilación y agregación centralizada de datos. Este procedimiento explica la configuración de un mongod instancia como subagente SNMP, así como inicializar y probar el soporte SNMP con MongoDB Enterprise.

Tip

Solucionar problemas de SNMP y supervisar MongoDB en Windows con SNMP para obtener instrucciones completas sobre el uso de MongoDB con SNMP en sistemas Windows.

  • La compatibilidad con SNMP solo está disponible en. Otras mongod mongos herramientas de MongoDB, como, no son compatibles con SNMP.

  • mongod no permite el uso de trampas SNMP.

MongoDB Enterprise incluye los siguientes archivos de configuración SNMP:

  • MONGOD-MIB.txt:

    El archivo de la base de información de administración (MIB) que define la salida SNMP de MongoDB. En las plataformas Ubuntu y Debian, este archivo se entrega comprimido como MONGOD-MIB.txt.gz y debe descomprimirse con gunzip.

  • mongod.conf.subagent:

    El archivo de configuración para ejecutar como subagente SNMP. Este archivo establece las opciones de configuración en tiempo de ejecución de SNMP,mongod incluyendo agentXSocket para conectarse al maestro SNMP.

  • mongod.conf.master:

    El archivo de configuración para ejecutar mongod como maestro SNMP. Este archivo establece las opciones de configuración de tiempo de ejecución de SNMP, incluyendo el agentaddress en el que se ejecutará.

Los archivos de configuración SNMP de MongoDB se proporcionan con la instalación de MongoDB Enterprise, de la siguiente manera:

  • Si instaló MongoDB Enterprise a través de un administrador de paquetes, estos archivos se instalan en el siguiente directorio como parte del proceso de instalación del paquete:

    Plataforma
    Ruta de acceso

    RHEL / CentOS

    /usr/share/doc/mongodb-enterprise-server-6.0.26

    Ubuntu / Debian

    /usr/share/doc/mongodb-enterprise-server

    SUSE

    /usr/share/doc/packages/mongodb-enterprise-server

  • Si instaló MongoDB Enterprise desde un archivo tar .tgz, estos archivos se incluyeron en el archivo tar.

1

Copie los archivos de configuración SNMP de MongoDB desde su ubicación de instalación a sus directorios de destino, según su plataforma:

  1. Vaya a la ubicación donde se instalaron los archivos SNMP. Por ejemplo, si instaló la última versión de MongoDB mediante el gestor de paquetes yum:

    cd /usr/share/doc/mongodb-enterprise-server-6.0.26
  2. Copie los dos archivos SNMP de MongoDB a sus directorios de destino:

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. Vaya a la ubicación donde se instalaron los archivos SNMP. Por ejemplo, si instaló MongoDB mediante el gestor de paquetes apt:

    cd /usr/share/doc/mongodb-enterprise-server
  2. Copie el archivo MONGOD-MIB.txt.gz en su directorio de destino y descomprímalo:

    sudo cp MONGOD-MIB.txt.gz /usr/share/snmp/mibs/
    sudo gunzip /usr/share/snmp/mibs/MONGOD-MIB.txt.gz
  3. Copie el archivo mongod.conf.subagent a su directorio de destino:

    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. Vaya a la ubicación donde se instalaron los archivos SNMP. Por ejemplo, si instaló la última versión de MongoDB mediante el gestor de paquetes zypper:

    cd /usr/share/doc/packages/mongodb-enterprise-server
  2. Copie los dos archivos SNMP de MongoDB a sus directorios de destino:

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

Edite el archivo /etc/snmp/snmpd.conf y agregue lo siguiente:

# 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. Instalar snmpd si aún no está instalado:

    sudo apt-get install snmpd
  2. Edite el archivo /etc/snmp/snmpd.conf y agregue lo siguiente:

    # 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 el archivo /etc/snmp/snmpd.conf y agregue lo siguiente:

# 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

Esta configuración define un socket de dominio UNIX para la comunicación entre el maestro snmpd() y el subagente (MongoDB), y define permisos SNMP básicos para acceder a los campos SNMP de MongoDB relevantes.

Nota

Para vincular su maestro a una dirección IP distinta de la del host local, añada dicha dirección al campo agentaddress del archivo /etc/snmp/snmpd.conf y actualice las ACL de seguridad de red correspondientes para permitir un rango de direcciones válido. En el archivo de configuración mongod.conf.master se proporciona como ejemplo un rango de direcciones 10.0.0.0/8 con el nombre de seguridad "mynetwork".

La configuración anterior se ofrece solo como ejemplo; puede personalizar los permisos según los requisitos de seguridad de su sitio. Si bien el soporte de MongoDB puede orientar sobre la configuración de MongoDB para SNMP, la configuración de SNMP en sistemas operativos queda fuera del alcance.

3

Inicie SNMP en su sistema utilizando el sistema de inicialización apropiado para su versión de Linux:

  • Para sistemas Linux que utilizan systemd systemctl (comando):

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

    sudo service snmpd start
4

Inicie mongod con para enviar datos al maestro snmp-subagent SNMP.

mongod --snmp-subagent
5

Verifica que MongoDB sea accesible para queries SNMP con el comando de prueba snmpwalk.

  1. Instalar snmpwalk en su sistema:

    sudo yum install net-snmp-utils
  2. Ejecute snmpwalk con los siguientes parámetros para verificar la capacidad de recopilar datos mongod de:

    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. SOLO DEBIAN: Si es necesario, añada el non-free repositorio a su /etc/apt/sources.list archivo para acceder al snmp-mibs-downloader paquete. Por ejemplo, en Debian 9 "Stretch", las entradas del repositorio principal podrían verse así:

    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 el snmp-mibs-downloader paquete para proporcionar los archivos MIB necesarios, luego reinicie el snmpd servicio para volver a cargar los nuevos archivos MIB:

    sudo apt-get update
    sudo apt-get -y install snmp-mibs-downloader
    sudo service snmpd restart
  3. DEBIAN / UBUNTU: Ejecute snmpwalk con los siguientes parámetros para verificar la capacidad de recopilar datos mongod de:

    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

El comando snmpwalk debe mostrar los valores actuales de los campos SNMP como sysUpTime y memoryResident, entre otros.

Nota

El puerto, utilizado en el snmpwalk comando de prueba 161 anterior, es el puerto predeterminado para el snmpd servicio, no el puerto principal port para mongod el servicio. Si ha configurado un puerto diferente para su snmpd servicio, indíquelo aquí.

Puede ejecutar mongod con la opción para realizar pruebas. Para ello, utilice el archivo de configuración maestro de SNMP en lugar del archivo de configuración del subagente. Desde el directorio que contiene los archivos de instalación descomprimidos de snmp-master MongoDB:

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

Nota

Para vincular su servidor maestro a una dirección IP distinta de la del host local, añada dicha dirección IP al campo agentaddress del archivo /etc/snmp/mongod.conf y actualice las ACL de seguridad de red correspondientes para permitir un rango de direcciones válido. En el archivo de configuración del servidor maestro se incluye como ejemplo un rango de direcciones 10.0.0.0/8 con el nombre de seguridad "mynetwork".

Luego, inicie mongod con la snmp-master opción:

mongod --snmp-master

Volver

FAQ: Diagnósticos

En esta página