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.
Overview
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.
Considerations
Archivos de configuración
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.gzy debe descomprimirse congunzip.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,
mongodincluyendoagentXSocketpara conectarse al maestro SNMP.mongod.conf.master:El archivo de configuración para ejecutar
mongodcomo maestro SNMP. Este archivo establece las opciones de configuración de tiempo de ejecución de SNMP, incluyendo elagentaddressen 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:
PlataformaRuta de accesoRHEL / CentOS
/usr/share/doc/mongodb-enterprise-server-6.0.26Ubuntu / Debian
/usr/share/doc/mongodb-enterprise-serverSUSE
/usr/share/doc/packages/mongodb-enterprise-serverSi instaló MongoDB Enterprise desde un archivo tar
.tgz, estos archivos se incluyeron en el archivo tar.
Procedimiento
Copiar archivos de configuración.
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:
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 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
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 Copie el archivo
MONGOD-MIB.txt.gzen 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 Copie el archivo
mongod.conf.subagenta su directorio de destino:sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
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 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
Configurar SNMP.
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
Instalar
snmpdsi aún no está instalado:sudo apt-get install snmpd Edite el archivo
/etc/snmp/snmpd.confy 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.
Inicia MongoDB.
Inicie mongod con para enviar datos al maestro snmp-subagent SNMP.
mongod --snmp-subagent
Confirmar la recuperación de datos SNMP.
Verifica que MongoDB sea accesible para queries SNMP con el comando de prueba snmpwalk.
Instalar
snmpwalken su sistema:sudo yum install net-snmp-utils Ejecute
snmpwalkcon los siguientes parámetros para verificar la capacidad de recopilar datosmongodde: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
SOLO DEBIAN: Si es necesario, añada el
non-freerepositorio a su/etc/apt/sources.listarchivo para acceder alsnmp-mibs-downloaderpaquete. 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 DEBIAN / UBUNTU: Instale el
snmp-mibs-downloaderpaquete para proporcionar los archivos MIB necesarios, luego reinicie elsnmpdservicio para volver a cargar los nuevos archivos MIB:sudo apt-get update sudo apt-get -y install snmp-mibs-downloader sudo service snmpd restart DEBIAN / UBUNTU: Ejecute
snmpwalkcon los siguientes parámetros para verificar la capacidad de recopilar datosmongodde: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.
Opcional: Ejecutar MongoDB como maestro SNMP
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