Configure Hardware Monitoring with munin-node


Ops Manager provides native hardware monitoring for MongoDB processes managed using Automation Agent version 2.7.0 or later.

  • Managed MongoDB processes report hardware monitoring data if Automation Agent 2.7.0+ is installed.
  • Unmanaged MongoDB processes report hardware monitoring data through munin-node if it is installed. As hardware monitoring support has been added to the Automation Agent, support for munin-node is deprecated.


To chart the hardware statistics collected with Munin, Ops Manager supports the following munin-node plugins:

  • cpu plugin, which creates the cputime chart.
  • iostat plugin, which creates the iostat chart.
  • iostat_ios plugin, which creates the iotime chart.

Install the munin-node Package

You must install the munin-node package on all of the host systems that you wish to monitor. Ensure that the Monitoring Agent can connect to the munin-node process on port 4949 of the monitored host to collect data.


munin-node and hardware monitoring is only available for managed MongoDB instances running on Linux hosts.

For details on installing munin-node beyond the information provided here, please see Munin documentation.

On Debian and Ubuntu systems, issue the following command to install munin-node:

sudo apt-get install munin-node

On Red Hat, CentOS, and Fedora systems, you may need to first install the EPEL repository before installing munin-node. To install EPEL, see To install munin-node issue the following command:

yum install munin-node

Configure munin-node

When installation is complete, ensure that munin-node:

  • is running. Use the command, “ps -ef | grep "munin"” to confirm. If the process is not running, issue the appropriate command to start it, depending on your operating system.


    If you use systemctl, and if the munin-node service is not shown, try to reload the SystemD configuration and unit files.

  • will start following the next system reboot. This is the default behavior on most Debian-based systems. Red Hat and related distributions should use the “chkconfig” command, to configure this behavior (i.e. “chkconfig munin-node on”)

  • is accessible from the system running the agent. munin-node uses port 4949, which needs to be open on the monitored system, so the agent can access this data source. Use the following procedure to test access:

    telnet [HOSTNAME] 4949
    fetch iostat
    fetch iostat_ios
    fetch cpu

    Replace [HOSTNAME] with the hostname of the monitored system. Run these commands from the system where the Monitoring Agent is running. If these “fetch” commands return data, then munin-node is running and accessible by the Monitoring Agent.


On some platforms, munin-node does not have all required plugins enabled.

For CentOS and Ubuntu, the munin-node package does not have the iostat and iostat_ios plugins enabled. Use the following operation to enable these plugins:

sudo ln -s /usr/share/munin/plugins/iostat /etc/munin/plugins/iostat; \
sudo ln -s /usr/share/munin/plugins/iostat_ios /etc/munin/plugins/iostat_ios

Then restart munin-node.

If munin-node is running but inaccessible, make sure that you have access granted for the system running the Monitoring Agent and that no firewalls block the port between munin-node and the Monitoring Agent. You may find the munin-node configuration at /etc/munin-node/munin-node.conf, /etc/munin/munin-node.conf, or /etc/munin-node.conf, depending on your distribution.

Additional Considerations for munin-node

  • If you have numbered disk devices (e.g. /dev/sda1 and /dev/sda2) then you will need to configure support for numbered disk in the munin iostat plugin. Find the configuration file at /etc/munin/plugin-conf.d/munin-node or a similar path, and add the following value:

        env.SHOW_NUMBERED 1
  • If you have Munin enabled and do not have iostat ios data in your Munin charts, your munin-node may not have write access to required state files in its munin/plugin-state/ directory. See the munin-node plugin log (i.e. /var/log/munin/munin-node.log or similar depending on your distribution) for more information.

    The full path of this state directory depends on the system, but is typically /var/lib/munin/plugin-state/.

    Run the following command sequence to correct this issue. The last command in the sequence changes permissions for the /var/lib/munin/plugin-state/ directory to ensure access for the munin-node plugins. Depending on your setup, you might have to use a different permission level:

     touch /var/lib/munin/plugin-state/iostat-ios.state
     chown -R [username]:[group] /var/lib/munin/plugin-state/
     chmod -R 766 /var/lib/munin/plugin-state/

    Replace [username] and [group] with the username and group that the munin-node process runs with.

  • Add the host running the Monitoring Agent to the allow directive in the munin-node.conf file. The allow directive lists hosts allowed to query the munin-node process. Otherwise, traffic from the Ops Manager host is allowed via firewall but Munin does not collect it.

    The munin-node.conf file is located in one of the following directories, depending on your distribution: /etc/munin-node, /etc/munin, or /etc.

If you encounter any other problems, check the log files for munin-node to ensure that there are no errors with Munin. munin-node writes logs files in the /var/log/ directory on the monitored system.

See also

Munin Diagnostics.