Navigation
This version of the documentation is archived and no longer supported. To learn how to upgrade your version of MongoDB Ops Manager, refer to the upgrade documentation.
You were redirected from a different version of the documentation. Click here to go back.

Configure Hardware Monitoring with munin-node

Important

Beginning with Automation Agent v. 2.7.0, if you use Ops Manager Automation, then Ops Manager displays the hardware data collected by the Automation Agent, not by Munin, when you view metrics.

Monitoring of hardware via munin-node is deprecated functionality.

Overview

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.

Note

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

For details on installing munin-node beyond the information provided here, please see http://guide.munin-monitoring.org/en/latest/installation/install.html.

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. See https://fedoraproject.org/wiki/EPEL. 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.

    Note

    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.

Note

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:

    [iostat]
        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 will be allowed via firewall but will not be collected by munin.

    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.