Icinga

From Amahi Wiki
Revision as of 04:02, 11 June 2011 by Sag47 (talk | contribs)
Jump to: navigation, search


This is for intermediate to advanced users of Linux and Amahi. Understand that without a web interface to do the configuration of objects the learning curve is large to configure Icinga for the first time.

What is Icinga?

Icinga is a fork of Nagios. It is network monitoring software designed to monitor the overall status of your network through a polling system. This way when computers go down you know before anyone else because it will show up in Icinga.

In my Amahi HDA, I use Icinga to monitor: file share servers, network printers, router, internet modem, different internet websites. The reason why I monitor my router, internet mode and internet websites is because when my internet goes down I want to know if it's my router that is the problem or my ISP.

Icinga will also track statistics so you can measure how much downtime your computers have (or downtime of the internet) so you have exact statistics of your network monitored in realtime.

Now on to the good stuff.

How to install Icinga

Prerequisites

  • Fedora 14
  • Amahi set up and running
  • and the following packages installed
yum groupinstall "Development Tools" "Legacy Software Development"

Installation

Follow the Quickstart Installation Guide for Icinga to compile and install Icinga and common Nagios plugins.

Once you have Icinga running when you attempt to access the web interface you should get permission denied. That is okay because we're going to fix that now.

Visit your hda at http://hda because now you have to set up a webapp. I know that this is in reverse order and that it should be compiled for the webapp directory but I'm still new to Amahi and not new to other things. So more detailed and correct instructions will come later.

Anyway, go to http://hda/setup?sub=webapps&tab=app and create a new webapp and call it icinga.

Now it's time to go into the terminal. All commands will be run as root.

ls /etc/httpd/conf.d/ | grep icinga

You should see two files. Something like 1007-icinga.conf and icinga.conf

cat /etc/httpd/conf.d/icinga.conf >> /etc/httpd/conf.d/1007-icinga.conf

Now edit /etc/httpd/conf.d/1007-icinga.conf

vim /etc/httpd/conf.d/1007-icinga.conf

And move </VirtualHost> from the middle of the file to the end. Be sure to confirm that the contents of icinga.conf are within 1007-icinga.conf before removing it.

rm /etc/httpd/conf.d/icinga.conf

Now you should have a 1007-icinga.conf file similar to the following (not exact)

<VirtualHost *:80>

	ServerName icinga
	ServerAlias icinga.home

	DocumentRoot /var/hda/web-apps/icinga/html

	<Directory "/var/hda/web-apps/icinga/html">
		Options Indexes FollowSymLinks +ExecCGI
		AddHandler fcgid-script .fcg
		AllowOverride AuthConfig
		Order allow,deny
		Allow from all
		
	</Directory>

	ErrorLog  /var/hda/web-apps/Icinga/logs/error_log
  	CustomLog /var/hda/web-apps/Icinga/logs/access_log combined env=!dontlog

#this is the beginning of the part from icinga.conf
	ScriptAlias /icinga/cgi-bin "/usr/local/icinga/sbin"
	<Directory "/usr/local/icinga/sbin">
	  Options ExecCGI
	  AllowOverride None
	  Order allow,deny
	  Allow from all
	  AuthName "Icinga Access"
	  AuthType Basic
	  AuthUserFile /usr/local/icinga/etc/htpasswd.users
	  Require valid-user
	</Directory>
	Alias /icinga "/usr/local/icinga/share/"
	<Directory "/usr/local/icinga/share/">
	  Options None
	  AllowOverride None
	  Order allow,deny
	  Allow from all
	  AuthName "Icinga Access"
	  AuthType Basic
	  AuthUserFile /usr/local/icinga/etc/htpasswd.users
	  Require valid-user
	</Directory>
</VirtualHost>

NOTE: The Icinga instructions should be rewritten so that it conforms to the icinga app path for Amahi standards.