Icinga vs. Nagios
Like Nagios, Icinga Core communicates to the database via Icinga Data Out Module (IDOMOD) and Icinga Data Out to Database (IDO2DB). However, unlike the Nagios Data Out database (NDODB) the Icinga Data Out database supports Oracle and PostgreSQL in addition to MySQL. This makes Icinga accessible to many other users who previously couldn’t use Nagios, resolving a long-standing request from the community.
From here on, Icinga offers users a choice of two web interfaces – the Classic UI and Icinga Web. Icinga’s Classic UI is similar to the Nagios web interface (Nagios CGIs), in that it sits in the same instance with the core, retrieving data through the cache and sending commands through pipe to the command files.
Icinga Web on the other hand is a standalone piece of software, which communicates to the core, database and 3rd party addons through component layers: Doctrine abstraction layer (Input/Database), REST API (external scripts) and Command Control Interface (writing to pipe, executing commands).
Thanks in part to the REST API; Icinga Web differs to the Nagios CGIs in its ability to display monitoring data from multiple Icinga Core instances. As long as each Core writes to the same IDO database, Icinga can work with them– making it ideal for large and complex, enterprise environments.
Furthermore, Icinga can have its various components split and scattered in a distributed set up for greater security and redundancy. If one component were to fail, another could take its place without disrupting the entire monitoring system.