Independent reviewsWe host no filesNot affiliated with any vendor listed
Scannethub

Head to head · Zabbix vs Checkmk

Zabbix vs Checkmk: which self-hosted monitor fits your team?

Zabbix vs Checkmk from an operator's view: data model, discovery, storage growth, licensing, upgrades and alerting, with a clear pick-this-if verdict.

Open source · AGPLv3 (since 7.0; GPLv2 before)

Zabbix

Linux server; agents for Linux, Windows, macOS, BSD

OK
Template library covers most common servers and switches on day one
WARN
History and trend tables grow fast — plan partitioning or TimescaleDB early
CRIT
Not a quick win: expect days of template tuning before alerts are trustworthy

Open core · GPLv2 + paid editions

Checkmk

Linux server (Debian, Ubuntu, RHEL, SLES), appliance or container

OK
Fastest route here from empty server to a useful dashboard
WARN
Some features you will want (agent bakery, faster core) are in paid editions
CRIT
Rule precedence can surprise you when several rules match one host

Picture running both of these side by side on the same 90-host mixed estate — a mix of Linux VMs, a few Windows servers, a stack of access switches and two firewalls. Checkmk would typically be showing more services within the first day or two: its agent finds every filesystem, every NIC, every systemd unit and every NTP peer on its own. Zabbix takes longer to reach the same coverage, but its item-and-trigger model is what most teams end up building custom dashboards and triggers in, because it lets you ask exactly the questions you want. That tension — fast, opinionated discovery versus a flexible, database-centric toolkit — is the heart of this comparison.

At a glance

Zabbix Checkmk
License AGPLv3 (since 7.0), all features in the one edition Raw edition GPLv2; commercial editions add features
Cost model No license fee; optional paid support subscriptions Raw has no fee; commercial editions licensed by number of services
Core engine Own C server and pollers Raw: Nagios core; commercial: Checkmk Micro Core (CMC)
Data storage SQL database (MySQL/MariaDB, PostgreSQL, optional TimescaleDB) RRD files per metric, fixed size
Discovery Low-level discovery rules in templates Automatic service discovery from agent/SNMP output
Configuration Templates, items, triggers via web UI and API Rule-based, folder/tag hierarchy, web UI and REST API
Agent Zabbix agent / agent 2 (Go, plugins) Checkmk agent; Agent Bakery in commercial editions
Distributed setup Proxies (active/passive), proxy groups in 7.0 Distributed sites, each a full instance
Dashboards Built-in, fairly capable; Grafana plugin common Built-in; richer in commercial editions
Upgrade path Package upgrade, DB schema migrated on server start omd update per site, version switch in place

How they think about monitoring

Zabbix is a data collection platform with alerting on top. Everything is an item — a single time series with a key, an interval and a type. Triggers are expressions over those items. That makes it extremely flexible: you can alert on the 95th percentile of a metric compared to last week, or on a calculated item that sums traffic across 40 ports. The cost is that you build more yourself. The official templates are good, but a useful Linux setup still involves choosing templates, tuning macros and deciding which triggers deserve a notification.

Checkmk is a service monitor with metrics attached. The agent returns a big text blob; Checkmk’s check plugins parse it into services, each with a state and performance data. Service discovery turns “install agent, add host” into dozens of sensible checks with default thresholds in minutes. Changes are made through rules that match hosts by folder, tag or label, which scales beautifully for “all database hosts in Frankfurt get these thresholds”. The trade-off is that going off the beaten path — alerting on a derived calculation, for example — is harder than in Zabbix.

Storage and the operational load of the monitor itself

This is where the two feel most different after six months.

Zabbix writes every value into SQL tables. Growth is linear with NVPS and retention, and you have to plan housekeeping, partitioning or TimescaleDB from day one. Get it right and a single server handles thousands of values per second; get it wrong and the housekeeper becomes the heaviest process on the box. Our server sizing guide walks through the numbers.

Checkmk stores metrics in RRD files, which do not grow over time — a host’s disk footprint is fixed when its services are discovered. There is no database to tune, which removes an entire class of problems. The flip side: RRDs consolidate older data into coarser averages, so long-term raw history is not available, and ad-hoc queries across many hosts are limited compared with SQL.

Discovery, templates and time to first useful dashboard

For a mixed estate of Linux and Windows servers, Checkmk wins on speed. A single afternoon is typically enough to get meaningful monitoring across a 90-host estate, with thresholds on filesystems, memory and interfaces that are mostly sensible out of the box.

Reaching the same coverage in Zabbix typically takes a few days — mainly template selection, macro overrides for filesystem thresholds, and disabling noisy triggers. On network gear the gap was smaller: Zabbix’s SNMP templates with low-level discovery handle interface tables well, and Checkmk’s SNMP checks are equally thorough. If SNMP is your main workload, also look at our SNMPv3 setup guide.

Alerting and noise

Zabbix gives you fine control: recovery expressions for hysteresis, trigger dependencies, action conditions, escalation steps and maintenance with or without data collection. It lacks a native flapping state, which you have to model with trigger functions.

Checkmk inherits the Nagios-style soft/hard state logic and flap detection, and adds a rule-based notification engine that can route by host tag, service name, time period or contact group. Commercial editions add more notification methods and bulk notifications. Both can be tamed; the specific techniques are in our alert noise guide.

Licensing and what you pay for

Zabbix has no feature tiers: the same AGPLv3 code runs a 10-host lab or a 50,000-host enterprise. Zabbix LLC sells support subscriptions, consulting and training, which is how larger organizations usually engage.

Checkmk’s Raw edition is fully open source but deliberately limited in some areas — it uses the Nagios core instead of the faster CMC, and features such as the Agent Bakery (centrally built and auto-updated agents), some reporting and several integrations live in the commercial editions, which are priced by monitored services. Check Checkmk’s current edition comparison and pricing pages before planning, as the line between editions moves between releases.

Upgrades

Zabbix upgrades are package upgrades followed by an automatic database schema migration when the server starts. On large databases that migration can take a while, so snapshot first and read the upgrade notes — major versions sometimes change history table structures.

Checkmk’s OMD layout lets several versions sit side by side; omd update switches a site to the new version and merges configuration. It is one of the more pleasant upgrade experiences in this space, though custom check plugins may need porting when the plugin API changes between major versions.

Verdict

Pick Zabbix if:

Pick Checkmk if:

Read the full Zabbix review and Checkmk review, or see the wider field in our open-source monitoring category.