Tuesday, March 22, 2011

Sys Admin Tools 0.1 - Icinga vs Nagios

Welcome to part two of my three part series of my 0.1 release. During this blog entry I will be discussing what I am sure many have asked when it comes to Network Monitoring Tools, “Nagios or Icinga?”. These two tools serve the exact same purpose, to monitor devices through a network, but what exactly is Nagios or Icinga?

The main differences between these two monitoring tools are strictly their architecture. Below is an image of both architectures with more information that will follow.

                              Icinga                                                         Nagios

When using the Nagios architecture each add-on that is applied will need to suit its interfaces and formats, for example if you need MySQL output you will need your own interface in order to translate it to the Nagios Core. Ultimately if you need to use 5 different output formats than you would need to write 5 different passive interfaces, making this the main structural difference between Icinga and Nagios.

However, because of Icinga’s API developers will ONLY need to know the API and program off of it. The API has the ability to translate any required output directly to the Icinga Core. Also, like Nagios, the Icinga Core communicates to a database via the Icinga Data Out Module (IDOMOD) and Icinga Data Out to Database (IDO2DB). However the IDODB differs significantly from the Nagios Data out Database (NDODB), not only does IDOMOD support the standard MySQL Database but also other popular ones such as Oracle and PostgreSQL.
Note: Icinga must be installed with IDOUtils, which is what allows Icinga to support databases outside of MySQL.

Each instance/component of the Icinga architecture (Core/WebUI&API/Database) can run on their own separate servers while still being connect to each other by a switch. The advantage to this is that if a component were to fail, for example the Icinga Core, you could have a second Icinga Core to take its job in case of emergencies.

And lastly, unlike the Nagios Web User Interface which runs on the same instance as the Nagios Core, Icinga Web is a standalone software which communicates with the database through the Icinga API.

The folks at Icinga have provided users with a comparison chart that allows for a simpler view of what Icinga has to offer over Nagios.

This concludes Part Two of my Three Part series of my 0.1 release, for any additional information regarding the difference between the Nagios and Icinga monitoring tools you can follow the links below;



Gian-Luca Casella -- Last Updated on Tuesday, March 22, 2011

1 comment: