Skip to content

Check_MK Setup

The agent can be used to gather data from remote systems you can use LibreNMS in combination with check_mk (found here). The agent can be extended to include data about applications on the remote system.

Installation

Linux / BSD

Make sure that systemd or xinetd is installed on the host you want to run the agent on.

The agent uses TCP-Port 6556, please allow access from the LibreNMS host and poller nodes if you're using the Distributed Polling setup.

On each of the hosts you would like to use the agent on, you need to do the following:

1: Clone the librenms-agent repository:

cd /opt/
git clone https://github.com/librenms/librenms-agent.git
cd librenms-agent

2: Copy the relevant check_mk_agent to /usr/bin:

linux freebsd
cp check_mk_agent /usr/bin/check_mk_agent cp check_mk_agent_freebsd /usr/bin/check_mk_agent
chmod +x /usr/bin/check_mk_agent

3: Copy the service file(s) into place.

xinetd systemd
cp check_mk_xinetd /etc/xinetd.d/check_mk cp [email protected] check_mk.socket /etc/systemd/system

4: Create the relevant directories.

mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local

5: Copy each of the scripts from agent-local/ into /usr/lib/check_mk_agent/local that you require to be graphed. You can find detail setup instructions for specific applications above.

6: Make each one executable that you want to use with chmod +x /usr/lib/check_mk_agent/local/$script

7: Enable the check_mk service

xinetd systemd
/etc/init.d/xinetd restart systemctl enable check_mk.socket && systemctl start check_mk.socket

8: Login to the LibreNMS web interface and edit the device you want to monitor. Under the modules section, ensure that unix-agent is enabled.

9: Then under Applications, enable the apps that you plan to monitor.

10: Wait for around 10 minutes and you should start seeing data in your graphs under Apps for the device.

Restrict the devices on which the agent listens: Linux systemd

If you want to restrict which network adapter the agent listens on, do the following:

1: Edit /etc/systemd/system/check_mk.socket

2: Under the [Socket] section, add a new line BindToDevice= and the name of your network adapter.

3: If the script has already been enabled in systemd, you may need to issue a systemctl daemon-reload and then systemctl restart check_mk.socket

Windows

  1. Grab version 1.2.6b5 of the check_mk agent from the check_mk github repo (exe/msi or compile it yourself depending on your usage): https://github.com/tribe29/checkmk/tree/v1.2.6b5/agents/windows
  2. Run the msi / exe
  3. Make sure your LibreNMS instance can reach TCP port 6556 on your target.