As you can see in previous posts…, Im in love with Nagios to monitor my systems… after creating some powerful, customized plugins for my Checkpoint firewalls, Exchange servers… cannot live with it… but maybe, it's "a bit" old fashioned and I have decided to try the Icinga monitoring tool. If it fits my environment, I'll have to replace my old Nagios.

Nagios vs Icinga


Icinga is a Nagios fork, completely compatible with Nagios plugins (a must for me), regularly updated, nice-looking web GUI…

This is the first part of the posts that will show in a simply way (as I always try to) the installation configuration of Icinga on a Debian distribution. Anyway, if you need further information and details, here you have the official documentation

So, in this first post, the target is to install the Icinga core on a Debian system using MySQL as database.

Configure Icinga repository

# wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add -
# echo 'deb http://debmon.org/debmon debmon-jessie main' >/etc/apt/sources.list.d/debmon.list
# apt-get update

Install icinga2 packages

# apt-get install icinga2
# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite icingastatus livestatus opentsdb perfdata statusdata syslog
Enabled features: checker mainlog notification

Install MySQL

Icinga supports both MySQL and Postgresql.
This howto covers the MySQL installation.

# apt-get install mysql-server mysql-client icinga2-ido-mysql

When installing the database related packages, a MySQL administrator password must be set.
And the needed database creation and configuration for Icinga can be done automatically:

Icinga - Installation Setup of Icinga Core on Debian 2

If you accept to do it via debconf, the following lines will appear as the apt ouput…

...
verifying access for icinga2@localhost: success.
creating database icinga2: success.
verifying database icinga2 exists: success.
populating database via sql...  done.
...

icinga ido-mysql feature can be also be enabled during the package install

Icinga - Installation Setup of Icinga Core on Debian 1

Otherwise, to enable it manually:

# icinga2 feature enable ido-mysql
Enabling feature ido-mysql. Make sure to restart Icinga 2 for these changes to take effect.

Enable external commands feature

# icinga2 feature enable command
Enabling feature command. Make sure to restart Icinga 2 for these changes to take effect.
# service icinga2 restart

Check enabled features

This should be the list of enabled features:

# icinga2 feature list
Disabled features: api compatlog debuglog gelf graphite icingastatus livestatus opentsdb perfdata statusdata syslog
Enabled features: checker command ido-mysql mainlog notification

Install Icinga Web 2

Continue with the second post of this series to install the Icinga 2 Web frontend:
Icinga – Installation / Setup on Debian Linux (2)