Monitor MongoDB With SNMP on Linux
On this page
Warning
Enterprise Feature Removed
Starting in MongoDB 6.1, SNMP is removed. All related command line options prevent mongod
from starting. To monitor your deployment, use MongoDB Ops Manager.
Overview
MongoDB Enterprise can provide database metrics via SNMP, in support of centralized data collection and aggregation. This procedure explains the setup and configuration of a mongod
instance as an SNMP subagent, as well as initializing and testing of SNMP support with MongoDB Enterprise.
Tip
See also:
Troubleshoot SNMP and Monitor MongoDB Windows with SNMP for complete instructions on using MongoDB with SNMP on Windows systems.
Considerations
Configuration Files
MongoDB Enterprise includes the following SNMP configuration files:
-
MONGOD-MIB.txt
:The management information base (MIB) file that defines MongoDB's SNMP output. On Ubuntu and Debian platforms, this file is shipped compressed as
MONGOD-MIB.txt.gz
and must be decompressed withgunzip
. -
mongod.conf.subagent
:The configuration file to run
mongod
as the SNMP subagent. This file sets SNMP run-time configuration options, including theagentXSocket
to connect to the SNMP master. -
mongod.conf.master
:The configuration file to run
mongod
as the SNMP master. This file sets SNMP run-time configuration options, including theagentaddress
to run on.
The MongoDB SNMP configuration files are provided with your MongoDB Enterprise installation, as follows:
-
If you installed MongoDB Enterprise via a package manager, these files are installed to the following directory as part of the package installation process:
Platform Path RHEL / CentOS /usr/share/doc/mongodb-enterprise-server-6.3.1
Ubuntu / Debian /usr/share/doc/mongodb-enterprise-server
SUSE /usr/share/doc/packages/mongodb-enterprise-server
-
If you installed MongoDB Enterprise from a
.tgz
tarball, these files were included in the tarball.
Procedure
Configure SNMP.
This configuration defines a UNIX domain socket for communication between the master (snmpd
) and sub-agent (MongoDB), and defines basic SNMP permissions for access to the relevant MongoDB SNMP fields.
Note
To bind your master to a non-localhost IP address, add that IP address to the agentaddress
field in the /etc/snmp/snmpd.conf
file, and update the appropriate network security ACLs to permit a valid address range. An address range of 10.0.0.0/8 with a security name of "mynetwork" has been provided in the mongod.conf.master
configuration file as an example.
The above configuration is given as an example only; you may wish to customize permissions based on your site security requirements. While MongoDB support can provide guidance on configuring MongoDB for SNMP, configuring SNMP on operating systems is out of scope.
Start MongoDB.
Start mongod
with the snmp-subagent
to send data to the SNMP master.
mongod --snmp-subagent
Optional: Run MongoDB as SNMP Master
You can run mongod
with the snmp-master
option for testing purposes. To do this, use the SNMP master configuration file instead of the subagent configuration file. From the directory containing the unpacked MongoDB installation files:
cp mongod.conf.master /etc/snmp/mongod.conf
Note
To bind your master to a non-localhost IP address, add that IP address to the agentaddress
field in the /etc/snmp/mongod.conf
file, and update the appropriate network security ACLs to permit a valid address range. An address range of 10.0.0.0/8 with a security name of "mynetwork" has been provided in the master configuration file as an example.
Then, start mongod
with the snmp-master
option:
mongod --snmp-master