I’ve been using Icinga since the first release was made public back in May this year.  I first heard of the project via Twitter, and as the tweet had a URL posted I simply clicked on it and read all about what Icinga was to be about and the new direction the development team were going to take on the project as it matures. So I was keen to get my hand on the code and install it.

So after simply building and installing version 0.8.0 I had a very basic level of reporting. My home server is a work in progress, in that its really my platform for teaching myself how to both use and configure the services I have implemented. I run Postfix, Dovecot, Apache2, PHP5, MySQL (LAMP) along with SSH and vsftp. Now the default configuration provides monitoring for SSH but I was wanting to expand this to cover the FTP, SMTP & IMAP servers. So my first call for help I posted a request on the icinga-users mailing list, I received an overwhelming response to my call! (this is the icinga community at work!) Now as I have Icinga installed on that server I have only modified the localhost.cfg and appended to the end of this file the following…

# postfix vk7hse.hobby-site.org
define service{
use 			local-service
host_name 		IBM-eSERVER
service_description 	SMTP
check_command 		check_smtp
}

# vsftp vk7hse.hobby-site.org
define service{
use 			local-service
host_name 		IBM-eSERVER
service_description 	FTP
check_command 		check_ftp
}

# imap vk7hse.hobby-site.org
define service{
use 			local-service
host_name 		IBM-eSERVER
service_description 	IMAP
check_command 		check_imap

Then I added the configuration for those services… (files postfix.cfg, ftp.cfg & imap.cfg in /usr/local/icinga/etc/objects)

define host{
use 				generic-postfix
host_name 			localhost
alias 				postfix
address 			192.168.0.1
check_command 			check_smtp
max_check_attempts 		10
notification_interval 		120
notification_period 		24×7
notification_options 		d,u,r
contact_groups 			admins
}

define host{
use 				generic-ftp
host_name 			localhost
alias 				vsftp
address 			192.168.0.1
check_command 			check_ftp
max_check_attempts 		10
notification_interval 		120
notification_period 		24×7
notification_options 		d,u,r
contact_groups 			admins
}

define host{
use 				generic-imap
host_name 			localhost
alias 				imap
address 			192.168.0.1
check_command 			check_imap
max_check_attempts 		10
notification_interval 		120
notification_period 		24×7
notification_options 		d,u,r
contact_groups 			admins
}

So as you can see the formula is the same for the three services, this then results in…

services on http://www.vk7hse.hobby-site.org

So that’s how I have Icinga running here, this may not be the optimum but its working for what I need.