aptitude install icinga
Say yes
y
Select apache2
Ok
create icingaadmin password, enter it twice
IT'S INSTALLED!
cd /etc/icinga/objects vim localhost_icinga.cfg
change all instances of "localhost" to be a more useful name for this server, for this example, dev1
:%s/localhost/dev1/g :x
Do the same for hostgroups_icinga.cfg
vim hostgroups_icinga.cfg :%s/localhost/dev1/g :x
restart and see how it looks!
/etc/init.d/icinga restart
In a browser go to serverurl/icinga and log in with the username "icingaadmin" and the password that you set earlier.
Icinga is not configured to look for external commands in the default configuration as a security feature. To enable external commands, you need to allow the web server write access to the nagios command pipe. the simplest way of doing this is to set check_external_commands=1 in your Icinga configuration, and then change the permissions in a way which will be maintained across package upgrades (otherwise dpkg will overwrite your permission changes). The following is the recommended approach:
activate external command checks in the Icinga configuration. this can be done by setting check_external_commands=1 in the file /etc/icinga/icinga.cfg.
perform the following commands to change directory permissions and to make the changes permanent:
service icinga stop dpkg-statoverride --update --add nagios www-data 2710 /var/lib/icinga/rw dpkg-statoverride --update --add nagios nagios 751 /var/lib/icinga service icinga start
I've put all the files we're going to need into /home/jamila/icingafiles on palante2 to make it a bit easier.
The files are:
43957 Feb 6 20:51 send_nsca 1636 Feb 6 20:52 send_nsca.cfg 997 Feb 6 20:53 submit_check_result 178 Feb 6 20:57 add_to_commands.cfg
Copy all of those files to some one place on the new server
Move send_nsca and submit_check_result to /usr/sbin/
Move send_nsca.cfg to /etc/icinga
Add the lines in add_to_commands.cfg to the end of /etc/icinga/commands.cfg
If libmcrypt isn't installed, we need to install it.
aptitude install libmcrypt4
Then we need to edit /etc/icinga/icinga.cfg and make the following lines have the following values:
enable_notifications=0 obsess_over_services=1 ocsp_command=submit_check_result
Check the icinga config files to make sure we didn't break anything
/etc/init.d/icinga checkconfig
If all is well, restart!
/etc/init.d/icinga restart
I like to alter the localhost_icinga.cfg to have a different parameters for disk check:
# Define a service to check the disk space of the root partition # on the local machine. Warning if < 10% free, critical if # < 5% free space on partition. define service{ use generic-service ; Name of service template to use host_name alpdebian service_description Disk Space check_command check_all_disks!10%!5% }
If that all works, modify the localhost_icinga.cfg to monitor what you want, and then add the host in palante2 Icinga with the correct service check names.
submit_check_result for this contains:
#!/bin/sh # Arguments: # $1 = host_name (Short name of host that the service is # associated with) # $2 = svc_description (Description of the service) # $3 = state_string (A string representing the status of # the given service - "OK", "WARNING", "CRITICAL" # or "UNKNOWN") # $4 = plugin_output (A text string that should be used # as the plugin output for the service checks) # # Convert the state string to the corresponding return code return_code=-1 case "$3" in OK) return_code=0 ;; WARNING) return_code=1 ;; CRITICAL) return_code=2 ;; UNKNOWN) return_code=-1 ;; esac # pipe the service check info into the send_nsca program, which # in turn transmits the data to the nsca daemon on the central # monitoring server /usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H icinga.palantetech.com -c /etc/icinga/send_nsca.cfg
add_to_commands.cfg contains
define command{ command_name submit_check_result command_line /usr/sbin/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$SERVICEOUTPUT$' }
send_nsca is a binary file, and send_nsca.cfg is our authentication method and password.
After installing Icinga, you can set up lm-sensors
Install Icinga
http://docs.icinga.org/latest/en/quickstart-idoutils.html
You'll need to download Icinga and Nagios plugins to /usr/src
wget http://sourceforge.net/projects/icinga/files/icinga/1.6.1/icinga-1.6.1.tar.gz/
wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
Then copy the send_nsca and send_nsca.cnf from one of the other MSP servers to this server
scp <Icinga server>:/usr/local/icinga/bin/send_nsca /usr/local/icinga/bin/
scp <Icinga server>:/usr/local/icinga/etc/send_nsca.cfg /usr/local/icinga/etc/
Set up a OSCP command as detailed here:
http://docs.icinga.org/latest/en/distributed.html
You can copy the lines in icinga/etc/objects/command.cfg, and the submit_check_result script in icinga/libexec from another MSP server.
old docs here:
https://hq.palantetech.com/issues/1582
https://hq.palantetech.com/documents/120