Developed in Python & C++ languages, Checkmk is an open-source monitoring server that is an improvement of Nagios operating system with enhanced plugins and monitoring capabilities. Checkmk uses agents to collect and ship remote systems’ metrics to the server. The agents are available for both Linux and Windows systems in 32 & 64-bit architectures.
Checkmk is used in monitoring applications, servers and even cloud infrastructure such as AWS and Azure. In this guide, we will walk you through how to install and configure Checkmk on CentOS 8 and later on, see how you can add both Linux and Windows hosts to checkmk server for monitoring.
We will install Checkmk using the OMD (Open Monitoring Distribution) bundle. This bundle ships with Nagios and all the necessary plugins required for monitoring various services.
Lab Setup details for Checkmk
This will be our set up
- Checkmk Server – CentOS 8
- Host 1 – CentOS 8
- Host 2 – Windows Server 2019
Step 1) Update the system
To start off, it’s always advisable to update your package lists to start on a clean slate. Therefore, log in to the Checkmk server and run the off command below.
$ sudo dnf update -y
Once the update is completed successfully and reboot the system once.
Step 2) Install prerequisite packages
Once the update is complete, you need to install a couple of packages for the installation of Checkmk monitoring tool to go smoothly.
First, you need to install EPEL. This is short for Extra Packages for Enterprise Linux. This is a package repository that provides additional packages that are not present in the default AppStream repositories for CentOS 8. This will prove beneficial as some of the packages required by OMD are contained in EPEL.
To install the EPEL repository, execute the command:
$ sudo dnf install epel-release
Press ‘y’ on the keyboard and hit ENTER to proceed with the installation.
Next, ensure that you install xinetd and OpenSSL packages. Therefore, run the command:
$ sudo dnf install xinetd openssl -y
Also, ensure that Python 3 is installed (It comes preinstalled by default on CentOS 8). In case it is not installed on your CentOS 8 / RHEL 8 system then run following command to install it,
$ sudo dnf install python3 -y
Run following command to verify the python version
[[email protected] ~]$ python3 -V
[[email protected] ~]$
Don not forget to install ‘graphiz-gd’ package from PowerTools repository, run the following dnf command
$ sudo dnf --enablerepo=PowerTools install graphviz-gd -y
Step 3) Set SELinux and firewall rules for checkmk
SELinux is a kernel security module that enhances the security of your CentOS 8 and RHEL 8 system. Set the following selinux rule to allow web server to access network interfaces,
$ sudo setsebool -P httpd_can_network_connect 1
Now allow http service or its port in firewall, run
$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload
Note: You can skip this only if Selinux and firewalld is disabled on your system.
Step 4) Installing Checkmk monitoring tool
With all the prerequisites out of the way, it’s time now to install Checkmk First, download the RPM package from the Official site.
$ wget https://checkmk.com/support/1.6.0p14/check-mk-raw-1.6.0p14-el8-38.x86_64.rpm
Once downloaded install Checkmk rpm package with …