Migrate from Nagios XI to Checkmk

A plan for moving Nagios XI hosts, checks and notifications to Checkmk, covering what moves cleanly, what needs rework, the cutover sequence and the cost drivers.

On this page

How to migrate from Nagios XI to Checkmk without rebuilding every check by hand

Most teams arriving here are facing a renewal, a node-tier change or a wish to stop paying for a perpetual license per node. The short answer is that moving to Checkmk is mostly re-discovery and rule rebuilding, not copying files. Nagios XI host and service definitions are not imported as-is. Instead, Checkmk scans each host, proposes services, and expresses monitoring intent as rules. The effort depends less on how many hosts you have and more on how many custom plugins, hand-written notification scripts and bespoke dashboards your XI installation has accumulated over the years. The work usually falls to the internal monitoring team, who know which hosts matter and which alerts are noise. Some organizations bring in an outside implementation partner for the rule design, plugin review and cutover planning, but the team still has to own the decisions about thresholds and escalation. Ask any partner for a written scope that lists your plugin inventory, notification paths and cutover approach before agreeing on timing. Confirm the effort with your own inventory rather than with a general estimate.

Checkmk Community is built on the Nagios core, which shapes what carries over. Standard Nagios-compatible plugins generally remain usable as active checks, so custom plugins that run from the command line are often the easiest part to keep. Confirm this for each plugin you rely on, because output formats, performance data and exit code handling still need testing. Notifications are different. XI notification commands, contact groups and escalation logic need to be rebuilt as Checkmk notification rules, and you should test each path with a controlled alert before retiring XI. Plan a parallel run for at least one full alert cycle so you can compare what each system sends. Start by exporting your XI host list, service list and notification contacts, then sort them into three groups: discovered automatically, kept as custom active checks, and to be retired. Install a Community test site on the packages or Docker images described in the Checkmk setup guide, run discovery on a few representative hosts and compare the results with XI. Decide early whether you need features that only the commercial editions offer, such as push-mode agents or automatic host registration, because that choice changes your deployment pattern and your budget.

Which Nagios XI capabilities map to Checkmk and which need rework

This table maps the main Nagios XI capabilities to their Checkmk equivalents and labels each as clean, needs rework or gap. Read it as a planning list: clean rows carry over with little change, rework rows need redesign in Checkmk's rule-based model, and gap rows need a decision about edition, add-on or a replacement tool.

Nagios XI capabilityCheckmk equivalentStatus and what to do
Hosts and host groupsHosts and host tags, with folders for structureNeeds rework: re-register hosts and use tags and folders instead of copied host definitions
Service checksServices found by auto-discovery, adjusted through check parameters and rulesNeeds rework: run discovery per host, then tune thresholds with rules rather than copying service definitions
Nagios pluginsNagios-compatible plugins run as active checks, plus Checkmk's native checksClean for most plugins: keep them as active checks, confirm each plugin runs on the target OS
Configuration wizardsService discovery and the Setup menu; no direct wizard equivalent for every XI wizardGap: confirm wizard coverage for your devices against your Checkmk version before planning
Dashboards and reportsCustomizable dashboards, views and reporting in Pro and Ultimate; Community offers a smaller setNeeds rework: rebuild dashboards and check which reporting features your edition includes
REST APICheckmk REST API, with endpoints that differ from the XI APINeeds rework: rewrite integrations and confirm endpoint coverage in your Checkmk version
Contacts and notificationsUsers, contact groups and notification rulesNeeds rework: recreate notification rules and test each channel after cutover
User roles and accessRoles, contact groups and permissions in SetupNeeds rework: map XI roles to Checkmk roles and review access per contact group
Push-mode agents and automatic host registrationUltimate edition features, not included in CommunityGap for Community: plan pull-mode checks or confirm the edition before design
Synthetic MonitoringAdd-on available only with Pro or UltimateGap for Community: budget for Pro or Ultimate if synthetic checks are needed

What to export from Nagios XI and what to rebuild in Checkmk

Most of the Nagios XI estate does not move as files. Host and service definitions are better re-learned through Checkmk's service discovery, while plugins, contacts and integrations need deliberate decisions. The cards below separate what is worth exporting from what must be re-entered and tested in the new site.

Host and service object configuration

Export the Nagios object files (hosts, host groups, services and commands) from the XI server so you have a written inventory of what was monitored and why. Treat this as a reference list, not an import file. Checkmk builds hosts and services through service discovery and rule sets, so each object should be matched to a discovered service or a rule. Check whether any host carries a check that discovery will not find, such as a custom active check with specific thresholds.

Custom plugin scripts

Inventory every custom plugin, wrapper script and command definition under the XI plugin directories. Legacy Nagios plugins can usually run in Checkmk as active checks, so keep them where a service has no native Checkmk check. Confirm each script's dependencies, interpreter path, credentials handling and whether it expects the Nagios environment variables. Scripts that query the XI database or its API will need rewriting because that data source does not exist in Checkmk.

Contacts and escalation definitions

Export contact, contact group and escalation objects so you can see who was notified for each service and at what time. Checkmk rebuilds notifications through its own rules, so these lists must be recreated and tested with a controlled alert. Record which teams own which hosts, since that ownership often lives only in group names. Confirm that escalation timing still matches your on-call agreement before cutover.

Historical performance data

Check whether XI retained performance data through PNP4Nagios or a similar add-on, and how long it kept it under its retention settings. Export a copy of the RRD files or a summary report if auditors or capacity planners need history. Checkmk does not import RRD history from Nagios, so plan to keep the old server read-only for the retention period you need, or accept a new baseline in Checkmk's own metrics store.

Ticketing and paging integrations

Inventory every notification script that opens a ticket or pages an on-call engineer, including the ITSM endpoint, API tokens and paging service. These scripts are not carried over, so each one must be rebuilt as a Checkmk notification plugin or rule, then tested against the same ticket queue. Ask the ITSM and paging owners to confirm the integration contract and any change in the ticket fields Checkmk sends.

Chat, SNMP and agent access

List the chat channels fed by XI notifications, the SNMP community or v3 users, and the agents or SSH accounts used to reach hosts. Checkmk needs its own SNMP settings, agent installation and access accounts, so credentials should be created new and stored under your secrets process. Confirm firewall rules for the agent port and SNMP traffic from the new Checkmk site before any host is switched over.

Migration sequence from inventory to decommissioning Nagios XI

This sequence moves Nagios XI monitoring to Checkmk in controlled stages, so each host group is proven on Checkmk before alerting moves and XI is retired only after history and reporting needs are covered.

  1. Inventory hosts, checks and notifications

    Export the host list, service checks, check commands, contact groups and notification rules from Nagios XI, and tag each host with its owner, criticality and whether it needs history or reports. Mark which checks use custom or legacy plugins, since these need a plan for reuse. The output is a signed-off inventory spreadsheet that maps every XI host to a Checkmk folder or host group, plus a short list of checks that cannot be rediscovered and must be rebuilt. Confirm the scope with the people who receive the alerts.

  2. Install Checkmk site and choose edition

    Decide between Checkmk Community and a commercial edition based on the features the inventory requires, such as push-mode agents, automatic host registration or distributed monitoring. Install the site from a Linux package for your distribution or as a Docker container image, then confirm the site starts and the web interface and agent receiver respond. Confirm with Checkmk which features each edition includes before you commit, since the editions page lists them separately. The output is a running test site on a server separate from XI.

  3. Pilot a small group of hosts

    Select a low-risk group of hosts that represents the main check types in use, then add them to Checkmk and install the Checkmk agent where needed. Keep the legacy Nagios plugins as active checks for any service that Checkmk does not cover natively, and record each one in the inventory. Run the pilot for a period your change process agrees on. The output is a pilot site with the chosen hosts reporting, and a list of checks that behaved differently from XI.

  4. Re-run service discovery and review rules

    Do not copy Nagios service definitions into Checkmk. For each pilot host, run service discovery, accept the services that match your inventory, and remove the ones that are noise. Then review the rule sets that set thresholds, check parameters and host tags, and align them with the thresholds your teams used in XI. The output is a documented rule set in version control or a change record, and a host-by-host list of discovered services that match the inventory.

  5. Run Checkmk in parallel and compare alerts

    Keep Nagios XI running and monitoring the same hosts while Checkmk runs alongside it, with notifications still sent only from XI. Compare the state changes and alerts from both systems for the agreed period, and investigate every difference in thresholds, flapping or missing checks. Record the reasons for each difference and fix the Checkmk rules where they are wrong. The output is a reconciliation log showing that each critical service produces the expected alerts in Checkmk.

  6. Rebuild notifications and cut over

    Recreate contact groups, notification rules, time periods and escalation paths in Checkmk, using the rules captured during the inventory. Test each notification channel, such as email, SMS, chat or paging integrations, with a controlled alert before enabling it for production. Then disable XI notifications host group by host group, starting with the pilot, and keep a rollback path for each group. The output is a notification test record for each channel and a cutover log showing when each group moved.

  7. Migrate remaining hosts and decommission XI

    Repeat discovery, rule review, parallel running and cutover for the remaining host groups. Before you shut down XI, export the historical data and reports your auditors, service owners or capacity planning require, and confirm where that data will live after decommissioning. Keep a read-only copy of the XI configuration for a retention period that your records policy sets. The output is a decommissioning record listing the retired hosts, the archived data location and the sign-off from operations and security.

Running Nagios XI and Checkmk in parallel and cutting over

A single Nagios XI server with one set of hosts is the simplest starting point. The usual pattern is to build a Checkmk site beside XI, run discovery and check the results against the XI view of the same hosts, and keep XI as the only notifier until the Checkmk side is verified. Because both systems poll the same targets, the extra load is usually small, but confirm this against your own check intervals and network path before you start.

  • Run both monitors read-only at first: Keep XI notifications on and Checkmk notifications off while you compare states.
  • Compare states host by host: Match each XI service with its Checkmk counterpart and record any mismatch in threshold, timeout or plugin output.
  • Keep legacy plugins where needed: Run custom Nagios plugins as active checks in Checkmk until you have a replacement.
  • Limit the overlap to one notification path: Only one system should page the on-call group at any time.
  • Record the cutover order: Write down which hosts move first so rollback is a known step.

Before you disable XI notifications, confirm that every critical service has a matching Checkmk check, that the notification rules deliver to a test contact, and that acknowledgments and downtimes work in the new system.

What drives migration cost and duration for Checkmk

This table lists the main factors that raise or lower the cost and time of moving Nagios XI hosts and checks to Checkmk, with the reason each matters and how to keep it under control. Read it as a checklist to scope a quote, since most drivers combine with each other. The main takeaway is that custom plugins, notification design and internal skills usually weigh more than the raw host count.

DriverWhy it changes cost or effortHow to reduce it
Host and service countDiscovery and rule tuning scale with the number of hosts and services, and commercial editions are priced by service volume or tier, so the count sets both one-time and recurring costs.Inventory hosts first, retire stale objects, and group hosts by role so rules can be written once and applied to many.
Custom Nagios pluginsPlugins that were written for Nagios XI may need porting, dependency checks, or new test cases before they run as active checks in Checkmk.List every custom plugin, mark those still in use, and test each one on a staging site before cutover.
Notification and escalation rulesContacts, time periods, escalation chains and on-call routing must be rebuilt as Checkmk notification rules, and errors here surface only during incidents.Document current escalation paths, rebuild them in a test site, and run simulated alerts to each recipient.
Reporting and dashboard expectationsNagios XI reports and dashboards do not carry over directly, so each report a team relies on becomes a new build or an accepted change.Ask each consumer which reports they actually use and rank them, then rebuild only the top items in the first phase.
Edition choiceCommunity is free, while Pro and Ultimate add reporting, automation, distributed monitoring and push-mode agents for a recurring subscription fee listed on the Checkmk editions page (Pro from 190 euros per month, Ultimate from 275 euros per month, billed annually).Model the features you need against the edition list before scoping, and confirm current prices and billing terms with Checkmk or a reseller.
Server sizingSites need CPU, memory and disk sized to check volume and history retention, and this is a recurring infrastructure cost whether the servers are on premises or in the cloud.Ask for a sizing estimate based on your check count and check interval, then test with a representative load before production.
Internal skills and administrationRule-based configuration and discovery are new to Nagios-trained staff, and ongoing rule maintenance is a recurring effort that often outlasts the migration itself.Plan training for the operations team, define rule ownership, and agree on a change process before the first production site goes live.
Parallel running periodRunning Nagios XI and Checkmk side by side doubles alert handling and server time until results are confirmed, which adds effort and infrastructure cost.Set exit criteria for each host group, such as matching alert behavior over a defined review period, and retire Nagios XI group by group.

Choosing Community or a commercial Checkmk edition for the migrated estate

Decide the edition before the pilot starts, because it determines the core, the agent model and the support you can buy. Checkmk Community is free and open source and is positioned by the Checkmk editions page for small infrastructures, scaling to about 100 hosts. Checkmk Community is built on the Nagios core, so for a small estate it is the lowest-change option. Count your hosts and services now, including the Nagios hosts that exist only as passive or legacy entries, and compare that count with the 100-host guidance. If the estate is near or above that figure, or if you expect growth during the migration, treat Community as a short-term step rather than the destination.

The commercial editions, Pro and Ultimate, create new sites with the Checkmk Micro Core (CMC) by default. The Nagios core remains available as an optional core in those editions, which is useful if you need a period of side-by-side comparison with existing XI results before you switch. Distributed monitoring and 8x5 support are listed for Pro, while push-mode agents and automatic host registration are Ultimate features according to the Checkmk setup guide. Confirm with Checkmk which features each edition includes for your version, and check whether a Synthetic Monitoring add-on is needed, since it is available only with Pro and Ultimate. Ask for the current per-edition pricing in writing, because the editions page lists monthly rates billed annually and the figures you see at procurement may differ.

What usually goes wrong when moving from Nagios XI to Checkmk

Most failed Nagios XI to Checkmk moves fail in predictable places: assumptions about what carries over, plugins that behave differently once wrapped, and notification paths nobody wrote down. The cards below name each risk and the check that prevents it, so the parallel run ends with confidence rather than surprises.

Assuming service definitions copy over

Teams often expect Nagios host and service definitions to move as-is. In Checkmk, services are normally re-created by running service discovery on each host, and rules then decide which checks apply and with what thresholds. Export your current object definitions as a reference list, run discovery on a pilot host, and compare the services found against that list. Anything missing is a gap to close with a rule or a custom check before cutover.

Losing custom plugin behavior

Custom Nagios plugins often depend on specific exit codes, performance data formats, timeouts or environment variables. Checkmk can run these as active checks, but output parsing and thresholds may behave differently from what XI showed. Run each legacy plugin manually on the Checkmk site user, compare its status and performance output with XI for the same host, and document any plugin that needs a wrapper or a native Checkmk check.

Duplicate or missing notifications

During parallel running, both XI and Checkmk may alert on the same host, which produces duplicate pages and email. Worse, a notification rule that existed only in XI may never be rebuilt, so a real problem stays silent. Disable Checkmk notifications for the pilot group, or route them to a test contact, until the notification matrix is verified. Then compare alert history from both systems for a fixed set of failure drills.

Undocumented escalation rules

Escalation chains in Nagios XI are often built up over years through contact groups, time periods and escalation definitions that no one has written down. Those rules do not transfer as a block, and Checkmk expresses notification logic through its own rules and contact handling. Before building anything in Checkmk, list every escalation path with its trigger, time window and recipient, then confirm each one with the on-call owner who relies on it.

Lost historical reporting

Availability reports, trend graphs and SLA evidence built from XI history do not come across automatically. Checkmk starts collecting its own history from the day the sites go live, so the first reporting period after cutover may look incomplete to auditors or service owners. Export the XI reports you must keep, store them in an agreed location, and confirm with your compliance owner whether an archive or a dual-running period is required.

Under-sized servers for the new site

A Checkmk site sized for the current XI workload can struggle once discovery adds services across the estate. Plan CPU, memory and disk for the target host count and service count, not the present footprint, and confirm which core the site uses. Ask your Checkmk partner or vendor to validate sizing against your service count during the pilot, and decide on distributed monitoring before go-live rather than after performance problems appear.

How the migration differs for small, large and multi-site Nagios XI estates

A single Nagios XI server running on Community, with a modest host list and a handful of notification contacts, is the simplest case. The work is mostly a fresh Checkmk site, a set of discovery runs and a review of what Checkmk now calls services. Because the estate is small, the main risk is not scale but forgetting a check that someone set up years ago and never documented. Community is free and open source and is described as suited to small infrastructures, so licensing is rarely the deciding factor at this size.

  • Discovery replaces copying: Run service discovery on each host instead of exporting XI service definitions, then compare the result against the old list.
  • Plugin checks: Keep any custom plugin in /omd/sites/<site>/local/lib/nagios/plugins as an active check and test its output format.
  • Notifications: Rebuild contacts and notification rules by hand, since a small team can test each one with a real alert.
  • Installation: Choose a Linux package or the Docker container image, and confirm which one your team can patch and back up.
  • Parallel run: Keep XI running for a short overlap so you can compare alerts before switching off.

Before cutover, confirm with your own inventory that every host and check on XI has a counterpart in Checkmk, and that the on-call person knows where alerts now come from.

Questions buyers ask before moving Nagios XI to Checkmk

How much effort does a Nagios XI to Checkmk migration take?

Effort depends mostly on how many hosts and services you run, how many custom checks and notifications you have, and how much of your XI setup (wizards, dashboards, reports) your teams rely on. Checkmk does not import Nagios service definitions one for one. Instead, service discovery re-scans each host and proposes services, and rules replace most of the object-by-object configuration. The work is therefore less about copying files and more about reviewing discovered services, writing rules for the exceptions and rebuilding notifications. Ask for a written scope that lists host counts, check types, custom plugins, notification paths and reports, because those items set the estimate. No fixed figure applies to every environment.

How long does a migration from Nagios XI to Checkmk run?

The duration is driven by the same factors as effort: the size of the estate, the number of custom plugins that need testing, the number of teams that receive alerts, and the change windows available for cutover. Running old and new monitoring in parallel for a period is common, because it lets you compare alerts before XI is switched off. Your contract or XI renewal date may also set a deadline. Ask for a timeline in the written scope that separates discovery, plugin testing, notification rebuild, parallel run and cutover, so you can see which phase drives the total.

Can our internal team migrate to Checkmk without outside help?

Many teams with Linux and Nagios experience can run a small migration themselves using the Checkmk documentation, especially on Community with a modest number of hosts. The harder parts are the ones that need judgment: deciding which discovered services matter, rewriting rules for legacy checks, validating alert routing and proving that nothing critical stopped reporting. If your staff are already loaded with operations work, or if the estate has many custom plugins and business-critical alerts, an outside partner can plan, implement and document the work under a fixed scope. Compare the cost of internal time with the cost of a written engagement before deciding.

Do our custom Nagios plugins work unchanged in Checkmk?

Often yes, but you must test each one. Checkmk Community is built on the Nagios core, so classic Nagios plugins can usually run as active checks, which is the path many teams use for legacy checks. Plugins that depend on XI-specific wrappers, unusual command-line arguments or local files need review. The practical approach is to inventory every custom check, run it under Checkmk in a test site, compare its output and thresholds with XI, and then decide whether to keep it as an active check or replace it with a native Checkmk check. Confirm plugin behavior in your own environment, since results depend on the plugin and its dependencies.

Can we import Nagios XI configuration directly into Checkmk?

A direct one-click import of XI objects is not the normal path. Checkmk's model is different: hosts are discovered, services are found by scanning, and behavior is set with rules instead of per-object definitions. Some teams export host lists and object data from XI and use them as input for scripted host creation, then let discovery build the service list. Expect manual work for thresholds, contact groups, notification periods and any check logic that does not map cleanly. Ask any implementation partner to show how they will map each XI object type to a Checkmk equivalent before work starts.

Is Checkmk Community enough to replace Nagios XI?

Community can replace XI for many environments, but it depends on what you use today. The Checkmk editions page describes Community as free, open-source monitoring for small infrastructures that scales to about 100 hosts. Larger estates, distributed monitoring, advanced reporting, automation and push-mode agents fall under the commercial Pro and Ultimate editions. The commercial editions also create new sites with the Checkmk Micro Core by default, while Community stays on the Nagios core. Check your host count, reporting needs and automation requirements against the editions page before choosing, and confirm the current tier limits with Checkmk.

What does the migration need from our own staff?

Your staff must supply knowledge that no tool can discover. The main inputs are:

  • A list of hosts, owners and the services each team cares about
  • Every custom plugin, its source and the people who maintain it
  • Notification paths, on-call schedules and escalation rules
  • Reports, dashboards and SLA views used in audits or management reviews
  • Change windows and a named owner to approve cutover and rollback

Plan time for these people during discovery and parallel running. Without their sign-off on which alerts matter, a migration can move the configuration but still miss the signals the business depends on. Confirm staff time commitments in the written scope.

Does the migration include compliance evidence for audits?

The migration can include documentation of monitoring controls, configuration, access and alert routing that auditors often ask for, and DeployOpen prepares systems, controls and evidence for compliance assessments. DeployOpen does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations. If your reports rely on XI history or dashboards, agree in advance how that history will be retained or exported. Ask for the evidence list in the written scope so it is clear what is delivered.

How DeployOpen scopes and runs a Nagios XI to Checkmk migration

DeployOpen plans, implements, integrates, documents and supports self-hosted open-source platforms inside your own infrastructure, so a Nagios XI to Checkmk move runs in your cloud accounts, data centers or air-gapped network. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Inventory every Nagios XI host, service check, plugin and notification path, and mark which ones Checkmk discovery will replace.
  • Agree in writing which legacy Nagios plugins stay as active checks and which are retired.
  • Confirm edition needs, such as Community or a commercial edition, distributed sites and push-mode agents, before any quote follows from the scope.

How we build

  • Install Checkmk in your environment from the packages or container images that match your Linux standard, and set up sites and access roles.
  • Run service discovery on each host instead of copying Nagios service definitions, then review rules and check parameters against the old setup.
  • Rebuild notification rules, escalation paths and on-call contacts, and test each one against a controlled alert before cutover.

How we hand over

  • Provide runbooks covering host onboarding, discovery, rule changes, plugin maintenance and site backups.
  • Document the mapping from each retired Nagios object to its Checkmk rule or check, so your team can audit the change.
  • Walk your operators and administrators through daily operation and run a supervised parallel period before the Nagios XI shutdown.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Agree in the written scope who patches Checkmk releases, applies plugin updates and maintains backups.
  • Ask for the support level, response hours and upgrade approach in writing before you sign, since these vary by engagement.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.