
On March 19, 2005, NagiosQL arrived on SourceForge. Martin, from wizonet, put on the web what the Nagios admin did in vim: host, service, contact, timeperiod, template — in a form, in MySQL, with a button to write to disk and another to nagios -v. Twenty-one years later, 3.5.0 still lives on GitLab wizonet/nagiosql, PHP 8, snapshot 2025-04-20, and FreeBSD Ports packages 3.5.0.20241012. It is not XI. It is cfg with a 2005 intranet look that refused to die.
The problem vim does not solve
Nagios Core has no configuration API. Files are the source of truth. In a small installation, that is a virtue. With two hundred hosts and three admins, it becomes a race of cvs diff and misplaced semicolons. Centreon and XI were born to fill that gap on the commercial side. For those who did not want to pay, 2005 brought PHP, Apache, MySQL, and an installation wizard. NagiosQL 1.0.0 RC1 on March 23, 2005, RC2 on April 2. The “QL” is the database — configuration becomes a row, disk becomes an export.
The nagiosql.org website existed and disappeared. Rouven, who appeared on the wiki, left. Martin stayed. The forum and tickets moved to SourceForge. In 2018, the code found a home on GitLab. In practice, the maintainer’s name has been the same since registration: wizonet / Martin.
2.x and 3.x: the entire Nagios object
2.0.0 came out in 2007, 2.0.2 in April 2008 — still speaking Nagios 2. 3.0.0 on January 6, 2009, followed Core 3. It imports existing cfg files. It edits host, hostgroup, service, servicegroup, contact, contactgroup, timeperiod, command, host/service escalation, dependency, extended info. Domains: more than one Nagios “world” in the same PHP application. Write to disk generates files in the format Core accepts. Verify calls the binary. Reload sends SIGHUP. Multilingual. An installer that also upgrades — from 1.x/2.x to 3.x, Martin instructed users to reimport rather than force a schema migration.
3.4.0 (May 1º, 2018) marked the modern break: full Core 4.x support, PHP 7, a rewrite. 3.4.1 (January 19, 2020) brought PHP ≥ 7.2, MariaDB, git hotfixes. The 3.5.0 (2023) opened the door to PHP 8. The community Docker image (instantlinux/nagiosql) stacks 3.5.0 on top of Core 4.5.x through 2026.
What NagiosQL is — and what it is not
It does not monitor. It does not replace the status CGI. It is not NDOUtils. It is the editor:
- Objects in MySQL, with copying, search, and pagination.
- Host/service templates, custom variables, command ARG with special characters (a classic bug, fixed more than once).
- Write to disk with a field limit — ticket #27 from 2025 was still about this; Martin closed it in the April 20, 2025 commit.
- Importing cfg files someone wrote by hand, so you do not have to start from scratch.
Those who wanted graphs and triggers in the same product moved to Zabbix. Those who wanted plain Core with an inexpensive configuration GUI stayed here. Enterprises’ XI covers the same niche with wizards and a price tag. NagiosQL is XI for people who read PHP and do not sign a contract.
2026: git, PHP 8, the same Martin
There is no spectacular “3.6” release. There is git. FreeBSD updates the tag. Community Docker follows Core. Requirements: Apache, PHP 7.2+ (8.x since 3.5.0), MariaDB/MySQL, sessions, mysqli, gettext. Optional SSH/FTP for writing cfg files to a remote host. Core 4.5.14 from the other post remains the engine. QL remains the form.
CVEs and scanners still detect old installations on port 80 — Nessus has a dedicated plugin. Anyone exposing NagiosQL to the internet without TLS and Apache authentication is asking for trouble. The product was born for an intranet.
Wrap-up
A German (or Swiss from wizonet), a 2005 SourceForge project, and the refusal to edit 800 services in vim. Nagios never got a configuration API. NagiosQL was the API: a POST, an INSERT, a write to disk. 3.5.0, PHP 8, GitLab wizonet, 21 years. The filing cabinet on the cover is literal — each drawer a host.cfg.
The daemon: The history of Nagios. Monitoring that starts with a database: Zabbix.