2021-07-10 03:34:01 +08:00
# Check_MK Setup
2019-09-09 05:48:35 -05:00
The agent can be used to gather data from remote systems you can use
LibreNMS in combination with check_mk (found
[here ](https://github.com/librenms/librenms-agent )). The agent can be
extended to include data about [applications ](Applications.md ) on the
remote system.
2017-03-09 15:41:52 -06:00
2021-07-10 03:34:01 +08:00
## Installation
2020-05-26 14:04:38 +00:00
2021-07-10 03:34:01 +08:00
### Linux / BSD
2020-05-26 14:04:38 +00:00
2019-09-09 05:48:35 -05:00
Make sure that systemd or xinetd is installed on the host you want to
run the agent on.
2017-03-09 15:41:52 -06:00
2019-09-09 05:48:35 -05:00
The agent uses TCP-Port 6556, please allow access from the **LibreNMS
2020-11-27 23:34:58 +01:00
host** and **poller nodes ** if you're using the [Distributed Polling ](Distributed-Poller.md )
2019-09-09 05:48:35 -05:00
setup.
2017-03-09 15:41:52 -06:00
2017-10-10 14:35:07 +02:00
On each of the hosts you would like to use the agent on, you need to do the following:
2017-03-09 15:41:52 -06:00
2019-09-09 05:48:35 -05:00
1: Clone the `librenms-agent` repository:
2017-03-09 15:41:52 -06:00
2019-10-21 02:47:40 +02:00
```bash
2017-03-09 15:41:52 -06:00
cd /opt/
git clone https://github.com/librenms/librenms-agent.git
cd librenms-agent
```
2019-09-09 05:48:35 -05:00
2: Copy the relevant check_mk_agent to `/usr/bin` :
2017-03-09 15:41:52 -06:00
| linux | freebsd |
| --- | --- |
| `cp check_mk_agent /usr/bin/check_mk_agent` | `cp check_mk_agent_freebsd /usr/bin/check_mk_agent` |
2019-10-21 02:47:40 +02:00
```bash
2017-03-09 15:41:52 -06:00
chmod +x /usr/bin/check_mk_agent
```
2019-09-09 05:48:35 -05:00
3: Copy the service file(s) into place.
2017-03-09 15:41:52 -06:00
| xinetd | systemd |
| --- | --- |
| `cp check_mk_xinetd /etc/xinetd.d/check_mk` | `cp check_mk@.service check_mk.socket /etc/systemd/system` |
2019-09-09 05:48:35 -05:00
4: Create the relevant directories.
2017-03-09 15:41:52 -06:00
2019-10-21 02:47:40 +02:00
```bash
2017-03-09 15:41:52 -06:00
mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local
```
2019-09-09 05:48:35 -05:00
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
2017-03-09 15:41:52 -06:00
| xinetd | systemd |
| --- | --- |
| `/etc/init.d/xinetd restart` | `systemctl enable check_mk.socket && systemctl start check_mk.socket` |
2019-09-09 05:48:35 -05:00
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.
2021-07-10 03:34:01 +08:00
#### Restrict the devices on which the agent listens: Linux systemd
2021-03-09 22:53:31 +00:00
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`
2020-05-26 14:04:38 +00:00
2021-07-10 03:34:01 +08:00
### Windows
2021-06-17 03:16:21 +08:00
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>
2020-05-26 14:04:38 +00:00
2. Run the msi / exe
3. Make sure your LibreNMS instance can reach TCP port 6556 on your target.