If you are monitoring your systems with Checkmk Raw, you may be at the point where you are ready to move to Checkmk Enterprise. Checkmk Enterprise includes all the benefits of Checkmk Raw, but also offers more power and is specifically designed for scalability. Moreover, many additional features, such as numerous automation options, will make your life easier.
In this blog, I'll discuss the key differences between both editions and help you decide whether it makes sense for you to switch. I'll also explain a few things that you should keep in mind when migrating.
The performance of your monitoring depends to a large extent on the monitoring core. It is the central engine of a monitoring system and, for example, initiates checks, provides status information to the GUI or detects status changes.
Here, Checkmk Enterprise relies on the Checkmk Micro Core (CMC), a high-performance engine with a high-performance software architecture developed by Checkmk. Checkmk Raw, on the other hand, uses the core of the open source project Nagios. This is a kind of standard engine for monitoring that works reliably but lags behind modern approaches, especially in terms of performance.
When the monitoring reaches a certain size, users notice performance problems and switch to Checkmk Enterprise to save the budget for new hardware resources. Before and after comparisons of operational monitoring environments show that after switching to the CMC, CPU utilization of Checkmk host servers dropped from about 80% to less than 20%.
If you notice that your monitoring host server is reaching its resource limit, this might be a good time to switch to Enterprise. Despite the basic optimization, however, the CMC is compatible with all Nagios legacy checks. So you can continue to use your monitoring plug-ins.
The CMC can run more checks per second, which makes Checkmk Enterprise optimal for monitoring Kubernetes. Checkmk Raw can also monitor dynamic assets, but due to is architecture its capabilities are limited.
Another argument for switching to Enterprise are the extensive automation features and better management options. For example, Checkmk's reporting feature can create custom reports for you in PDF format and comes with a number of pre-built templates. If you currently take screenshots of dashboards or hosts manually, you can completely automate this process, saving you valuable time.
With Checkmk Enterprise, you can also take advantage of the Agent Bakery. This allows you to create (or "bake") customized agent packages and to automatically update the configuration of your Checkmk agents. When it comes to server monitoring, the Agent Bakery therefore takes a lot of manual work off your hands.
Checkmk Enterprise comes with many other additional features. For example, you can use a large set of integrations with other enterprise solutions such as Jira, ServiceNow, ntop or DataDog. It also offers better dashboarding and the ability to automatically create hosts in your monitoring via dynamic host configuration.
If you are considering a switch, you do not need to worry about the workload. Upgrading is no different from the normal update process to a new Checkmk version. The steps are described in detail in the Checkmk user guide. There are only some default settings for modules and features that you need to adjust once. For example, for Checkmk sites that you created with Checkmk Raw, you will need to adjust the monitoring core after switching to Enterprise.
Visually, the Raw and the Enterprise user interfaces are almost identical, and you will easily find your way around. You can continue using the configuration of your monitoring, and the changing process will be quick. This allows you to make a risk-free switch without needing additional training.
How beneficial the enterprise features are for you depends on your individual monitoring environment. Therefore, the safest and most reliable option is a personal trial run. You can use the Checkmk Trial to test all the capabilities of Checkmk Enterprise. Often, only the practical test shows how much time and resources you save with Checkmk Enterprise.
Most advantages of the many small things only reveal themselves in a test run. For example, there is already an Ansible collection, which you can use to further automate the management of Checkmk agents. Checkmk Enterprise also offers the notification spooler, which eliminates notification delays.
With Checkmk Enterprise, you also have the option to book a support package. This allows you to benefit from the experience of our Checkmk consultants. For example, if you have set up a large monitoring environment with Checkmk Raw or another monitoring solution, we can help you migrate to Checkmk Enterprise.
You purchase an annual Enterprise subscription, and get an invoice based on the number of services monitored. The Checkmk sales team usually audits the number of services once a year to avoid under- or over-licensing. You can check the necessary budget on the pricing page and also order a subscription directly on the website.
Since you are ideally migrating to the latest version of Checkmk Enterprise, your current monitoring environment with Checkmk Raw must also be up-to-date. The latest version ensures that known vulnerabilities are fixed and that you can use all new features. Under no circumstances should you use a Checkmk version that tribe29 no longer actively maintains. An overview of the supported Checkmk versions can be found in the Checkmk manual.
In order to migrate your configuration safely, all Checkmk sites of your current monitoring environment must be up-to-date with Raw. Especially for distributed monitoring, you should not use different Checkmk versions at the same time. Do not skip versions, or you may experience compatibility issues. For example, if you are using Checkmk version 1.6, you must first update to Checkmk 2.0 before you can switch to Checkmk 2.1.
Especially when switching to Checkmk Enterprise, you should say goodbye to outdated approaches. For example, many users use outdated plug-ins in Checkmk. If you still used Nagios plug-ins in Checkmk Raw, for instance, you should check if there is an official check plug-in when switching to Checkmk Enterprise. These work more efficiently and are regularly maintained by the Checkmk development team.
Also, some users manually configure steps that Checkmk can do automatically. Especially if you are considering a switch to Enterprise, you should keep an eye on options for automatic configuration. For example, you can configure Checkmk via the Rest API.
There are good reasons to choose Checkmk Raw. Thanks to 100% open source technology, it offers maximum control and unparalleled extensibility. Checkmk Enterprise additionally offers better performance, numerous automation options and other advantages. In the end, it is up to you to decide. However, with the Checkmk Trial, you have a good opportunity to test all enterprise features in advance.
Checkmk is a software system developed in Python and C++ for IT Infrastructure monitoring. It is used for the monitoring of servers, applications, networks, cloud infrastructures (public, private, hybrid), containers, storage, databases and environment sensors.[3]
Checkmk is available in four editions:[4] an open source edition (Checkmk Raw Edition),[5] a commercial enterprise-grade edition (Checkmk Enterprise Edition), a commercial edition with advanced cloud monitoring features (Checkmk Cloud Edition), and an edition for managed services providers (Checkmk Managed Services Edition). These Checkmk Editions are available for a range of platforms, in particular for various versions of Debian, Ubuntu, SLES and Red Hat, and also as a Docker Image.[6] In addition, physical appliances of various sizes as well as a virtual appliance are offered to simplify the administration of the underlying operating system through a graphical user interface and to enable high-availability solutions.
Checkmk originated in 2008 as an Agent-substituting shell script for Inetd, and was published in April 2009 under GPL. It was initially based on Nagios, and extended this with a number of new components.[8][9] The open source edition (Checkmk Raw Edition) also continues to be based on the Nagios-core, and bundles this with additional open source components into a complete system.[10]
While in the past Checkmk was designed for monitoring large and heterogeneous on-premise environments, from version 1.5+ (1.5p12) it also supports the monitoring of AWS, Azure, Docker and Kubernetes services.
Checkmk is being developed by Checkmk GmbH[12] in Munich, Germany. Until 16.04.2019 it operated under the name of Mathias Kettner GmbH, at which point the company was rebranded to tribe29 GmbH, while the product name "Check_MK" was also changed to "Checkmk". A subsequent rebranding took place on 14.04.2023, when the company has been renamed to Checkmk GmbH.
To simplify setup and operation, all components of Checkmk are delivered fully integrated. A rule-based 1:n configuration, as well as a high degree of automation, significantly accelerate workflows. This includes:
Checkmk commercial edition uses the proprietary "Checkmk Microcore" (CMC) monitoring core, written in C++. It has better performance than Checkmk Raw Edition core[original research?]. It supports recording of objects with a short lifespan, such as containers. It does not require a reboot to apply configuration changes.
Checkmk offers self-contained service discovery and settings generation. Checkmk uses its own method when carrying out the checks. During the test period each host is contacted only once. The test results are transmitted to the monitoring core as passive checks. This significantly improves the performance on the monitoring server, as well as on the hosts being monitored.
Checkmk uses different methods to access the data in the target systems. These include agents installed on the target system, "special agents" running on the monitoring server and communicating with the API of the target system, the SNMP API for monitoring, for example, network devices and printers, and HTTP/TCP protocols to communicate with web and internet services. By default, Checkmk follows the "pull principle", i.e. the data is explicitly queried by the monitoring system to quickly identify when a system suddenly fails and does not respond to a "pull". As an alternative, however, a "push" can be configured with which the system transfers its data directly to Checkmk or to an intermediate host.
c80f0f1006