Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Monitoring
/ / / /

Supervisa MongoDB con SNMP en Linux

Nota

Funcionalidad 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, en apoyo de la colección centralizada de datos y agregación. Este procedimiento explica la configuración e instalación de un mongod instancia como subagente SNMP, así como la inicialización y prueba del soporte SNMP con MongoDB Enterprise.

Tip

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

  • El soporte de SNMP solo está disponible en mongod. Otras herramientas de MongoDB como mongos 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 base de información de gestión (MIB) que define la salida SNMP de MongoDB. En las plataformas Ubuntu y Debian, este archivo se envía comprimido como MONGOD-MIB.txt.gz y debe descomprimirse con gunzip.

  • mongod.conf.subagent:

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

  • mongod.conf.master:

    El archivo de configuración para ejecutar mongod como el administrador SNMP. Este archivo establece las opciones de configuración en 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 tu 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

    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

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

  1. Navegue hasta la ubicación donde se instalaron los archivos SNMP. Por ejemplo, si instalaste la última versión de MongoDB a través del gestor de paquetes yum:

    cd /usr/share/doc/mongodb-enterprise-server-6.0.26
  2. Copia los dos archivos SNMP de MongoDB en 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. Copia el archivo MONGOD-MIB.txt.gz a su directorio de destino y descomprímelo:

    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. Navegue hasta la ubicación donde se instalaron los archivos SNMP. Por ejemplo, si instalaste la última versión de MongoDB a través del gestor de paquetes zypper:

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

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

Edita el archivo /etc/snmp/snmpd.conf y añade 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. Edita el archivo /etc/snmp/snmpd.conf y añade 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

Edita el archivo /etc/snmp/snmpd.conf y añade 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 de control (snmpd) y el sub-agente (MongoDB), y define permisos SNMP básicos para el acceso a los campos relevantes de MongoDB SNMP.

Nota

Para vincular tu maestro a una dirección IP no localhost, añade esa dirección IP al campo agentaddress en el archivo /etc/snmp/snmpd.conf y actualiza las listas de control de acceso (ACL) de seguridad de red correspondientes para permitir un rango de direcciones válido. En el archivo de configuración mongod.conf.master se ha proporcionado un rango de direcciones 10.0.0.0/8 con el nombre de seguridad "mynetwork" como ejemplo.

La configuración anterior se presenta solo como ejemplo; puede desear personalizar los permisos según los requisitos de seguridad de su sitio. Aunque el soporte de MongoDB puede ofrecer orientación sobre cómo configurar MongoDB para SNMP, la configuración de SNMP en sistemas operativos está fuera del alcance.

3

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

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

    sudo systemctl start snmpd
  • Para sistemas Linux que usan 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. Ejecútalo snmpwalk con los siguientes parámetros para verificar la capacidad de recopilar datos 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. 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 paquete snmp-mibs-downloader para proporcionar los archivos MIB necesarios, y luego reinicie el servicio snmpd 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: Ejecuta snmpwalk con los siguientes parámetros para verificar la capacidad de recopilar datos desde 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

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

Nota

El puerto utilizado en el snmpwalk comando de prueba anterior, el puerto 161, es el puerto por defecto para el snmpd servicio, no el puerto port primario para mongod el. Si has configurado un puerto diferente para tu snmpd servicio, indícalo aquí en su lugar.

Puedes ejecutar mongod con la opción snmp-master para fines de prueba. Para hacer esto, usa el archivo de configuración maestro SNMP en lugar del archivo de configuración del subagente. Desde el directorio que contiene los archivos de instalación desempaquetados de MongoDB:

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

Nota

Para vincular su servidor maestro a una dirección IP distinta de la 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. El archivo de configuración del servidor maestro incluye, a modo de ejemplo, el rango de direcciones 10.0.0.0/8 con el nombre de seguridad "mynetwork".

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

mongod --snmp-master

Volver

FAQ: Diagnósticos

En esta página