- What’s your ENow AppGov Score? Free Microsoft Entra ID app security assessment - Thu, Nov 30 2023
- Docker logs tail: Troubleshoot Docker containers with real-time logging - Wed, Sep 13 2023
- dsregcmd: Troubleshoot and manage Azure Active Directory (Microsoft Entra ID) joined devices - Thu, Aug 31 2023
IT monitoring is a very complex, critical aspect of modern IT operations. Finding the right monitoring solution with a balance of features, capabilities, and price can be a challenge. Checkmk promises to provide a tool that allows organizations to monitor large heterogeneous IT landscapes that include a mix of on-premises and cloud resources. It provides a wide range of features and capabilities that offer a comprehensive monitoring solution for businesses.
Checkmk provides both a free, open-source solution and an enterprise offering that includes support, among other things. What can it monitor?
- Cloud environments
- IoT devices
Additionally, Checkmk works off the idea of plug-ins, which makes the monitoring solution extremely modular. The plug-ins enable extending the solution with vendor- and technology-specific components to monitor those solutions. In total, the Checkmk website claims that the solution has over 2,000 plug-ins available for use. You can see a full list here. You can even write your own plugins and share them at the Checkmk exchange.
A few notables include:
- Dell EMC
- Amazon AWS
In my experience, one of the highly challenging aspects of any monitoring solution is the time it takes to provision monitoring, correctly identify devices, and set up intelligent alerting and notifications based on reasonable thresholds. Checkmk has these aspects covered with a solution that can be deployed very quickly. Out of the box, it can identify more than 90% of devices and services via auto discovery, according to the information on the Checkmk site.
In addition to the ease with which businesses can provide monitoring with Checkmk, it offers a scalable solution that scales to monitor thousands of hosts and hundreds of distributed instances of Checkmk with low system requirements. Most businesses are also looking for solutions that they can automate and integrate with other solutions through automated processes. Checkmk offers an automated service discovery, automated agent updates, and a powerful Rest-API to trigger actions within Checkmk remotely. Further, Checkmk offers API endpoints to integrate Checkmk with other enterprise solutions.
New Features with Checkmk 2.0
Checkmk recently released a significant upgrade to the product with Checkmk 2.0, which features many new improvements. While some features exist only in the Enterprise version of Checkmk, the new features cover a wide range of capabilities, including:
- A redesigned user interface—The Checkmk user interface has been redesigned with a more modern look and feel. It now includes both a NavBar and a SideBar that help the monitoring details stand out.
- Better cloud and container monitoring—Added support for AWS ELB, EC2, RDS, new Glacier, DynamoDB, and WAF monitoring, Azure Active Directory Connect monitoring, and Kubernetes ingress, jobs, endpoints, pod conditions, etc.
- Network monitoring using ntop—You can perform an in-depth analysis of your network traffic with network flow integration with Checkmk using ntop. This is one of the enterprise-only features.
- Newly redesigned REST-API— The Rest-API is constantly expanded and at the moment allows to remotely control downtimes, time periods, problem acknowledgments, the agent bakery, and other functionality using the API interface.
- Better performance and lower system resource requirements—With this release, Checkmk claims up to 4x less memory usage at the same level of performance as previous versions. Additional performance includes 100x faster DNS updates of DNS entries, 6x faster configuration loading time, faster rule evaluation, and more.
- Better integration—There are many more plugins and better agent integration with this release of Checkmk 2.0.
Before installing, you must decide which version of the monitoring software you want to install. What are the differences?
- Checkmk Raw Edition (CRE)—Free and open-source. It can still be used for very complex monitoring requirements. You can receive support via the support forums and from the community.
- Checkmk Enterprise Free Edition (CFE)—This one is used primarily for testing the solution to decide whether the Enterprise Standard edition is the right choice. It is not feature-limited and can be used for 30 days. The limitation of 25 hosts kicks in after 30 days. If you have less than 25 hosts, there is no time limit. You can go from the Free and the Raw editions straight to the Enterprise Standard edition.
- Checkmk Enterprise Standard Edition (CEE)—This edition is meant for professional users and replaces Nagios at the core with the Checkmk Micro Core. It also contains several extra features. Professional support is available for this edition.
- Checkmk Enterprise Managed Services Edition (CME)—A multiclient-capable extension of the Standard Edition that has all the necessary functions for operating an individual Checkmk site for multiple independent customers. Besides the additional technical features, the main point of the Managed Services Edition is the focus on managed service providers. Standard licenses can only be used for one organization.
Once you have selected the edition to be installed, there are multiple ways to install and run Checkmk. It can be installed in mainstream, supported Linux distributions such as RHEL, Debian, Ubuntu, and CentOS. You can also run Checkmk as a virtual appliance, physical appliance, or a Docker container.
Since I had an Ubuntu 20.04 template ready to go in the lab environment, I cloned a free Ubuntu template and chose to download the Ubuntu installation file.
Once you have installed the Checkmk installation package, you need to create a monitoring site. This part of the installation is accomplished using the Open Monitoring Distribution (OMD) command. Checkmk uses the OMD command to provision the monitored sites. Below, we are creating a monitoring site for use with Checkmk.
Once you have created the monitoring site with OMD, you can use the same command to start the site.
Logging in and adding hosts
Access your monitoring site using the URL listed for the web UI. Log in with the credentials provided.
To begin configuring the solution, click the Setup button in the left-hand navigation bar.
After choosing Hosts, click the Add host button. Below, I am going to set up a connection to a VMware vSphere ESXi host.
Enter the connection details and the monitoring agent configuration. For the monitoring agent with ESXi, I'll select API integrations if configured, else Checkmk agent. After you configure the connection information, click Save & go to service configuration.
One thing that was a little counterintuitive to me was applying the changes using the activate process in Checkmk. However, once I stepped through this a couple of times, it was pretty intuitive.
After you add the ESXi host, you can go back to the main dashboard and see the status of monitored services. It is impressive to see the amount of information you get simply from adding the ESXi server to the solution. Many other monitoring platforms take configuration and tweaking to get all the services that are monitored out-of-the-box with Checkmk. Notice that you also use vCenter as a source.
One thing to mention with Checkmk is that it is recommended to deploy agents for most use cases. However, this is not a must. If you navigate to the Setup > Agents area, you will see the available agents you can download from this page. While agents require additional overhead for administration and management, they do provide a more robust monitoring experience.
Wide range of check plug-ins
As mentioned earlier, Checkmk provides over 2000+ check plug-ins, available for download, that extend the solution to encompass just about any vendor or technology you can think of that is needed in your environment.
This wide range of check plug-ins makes Checkmk highly extendible. It can monitor numerous modern architecture components, such as Docker and Kubernetes as well. Notice the group of Containerization check plug-ins.
As mentioned earlier, a robust group of integrations is available with Checkmk. The integrations allow the Checkmk monitoring solution to integrate with systems that many organizations already have in place.
Subscribe to 4sysops newsletter!
Wrapping up and impressions of Checkmk
I did find the solution complex to get started. Because of its numerous features, Checkmk does have a steep learning curve. Considering that you can monitor just about everything with Checkmk, on-premises and in the cloud, investing some time is certainly worthwhile. As I learned how to add monitored hosts and services and how to integrate with various systems, I got the hang of Checkmk. For a robust monitoring experience, deploying agents is advised. Be sure to visit the official Checkmk site and download the solution for free here.