Icinga

Icinga Quickstart

Introduction

This guide is intended to provide you with simple instructions on how to install Icinga from source (code) and have it monitoring your local machine within 20 minutes.

No advanced installation options are discussed here - just the basics that will work for most of the users who want to get started.

This guide will give you examples for currently three different Linux distributions: Fedora, Ubuntu and openSuSE. Similar distributions may work as well. That should include RedHat, CentOS, Debian and SLES.

Other distributions may inherit from these examples.

If you are planning to use a database with IDOUtils please read “Icinga with IDOUtils Quickstart” instead!

What You'll End Up With

If you follow these instructions, here's what you'll end up with:

Prerequisites

During portions of the installation you'll need to have root access to your machine.

Make sure you've installed the following packages on your system before continuing.

Install packages

You can install these packages by running the following commands (as root or sudo):

Fedora/RHEL/CentOS

 # yum install httpd gcc glibc glibc-common gd gd-devel
 # yum install libjpeg libjpeg-devel libpng libpng-devel

Debian/Ubuntu

 # apt-get install apache2 build-essential libgd2-xpm-dev
 # apt-get install libjpeg62 libjpeg62-dev libpng12 libpng12-dev
[Note] Note

The numbers <62/12> might differ, depending on your distribution

openSuSE

Please use yast to install the packages

Create Account Information

Become the root user.

 # su -l

Create a new icinga user account and give it a password:

 # /usr/sbin/useradd -m icinga 
# passwd icinga  

On some distributions you'll need to add the group in a single step:

 # /usr/sbin/groupadd icinga

Download Icinga and the Plugins

Change to your local source directory i.e. /usr/src

 # cd /usr/src

Either fetch the actual icinga-core snapshot from Icinga GIT

 # git clone git://git.icinga.org/icinga-core.git

or from the Icinga Website .

Don't forget to download the Nagios Plugins .

Compile and Install Icinga

Extract the Icinga source code tarball (or change directory to the GIT snapshot)

 # cd /usr/src/ 
 # tar xvzf icinga-1.0.tar.gz 
 # cd icinga-1.0

Run the Icinga configure script. You will get help by using the --help flag.

 # ./configure

Compile the Icinga source code. To see available options, only use "make".

 # make all

Install binaries, init script, sample config files and set permissions on the external command directory.

 # make install 
 # make install-init 
 # make install-config 
 # make install-commandmode 

or shorter

 # make fullinstall

Don't start Icinga yet - there's still more that needs to be done...

Customize Configuration

Sample configuration files have been installed by using

# make install-config

into /usr/local/icinga/etc/. You'll need to make just one change before you proceed...

Edit the /usr/local/icinga/etc/objects/contacts.cfg config file with your favourite editor and change the email address associated with the icingaadmin contact definition to the address you'd like to use for receiving alerts.

 # vi /usr/local/icinga/etc/objects/contacts.cfg

Configure the Web Interface

Install the Icinga web config file in the Apache conf.d directory.

 # make install-webconf

Create an icingaadmin account for logging into the Icinga web interface. If you want to change it later, use the same command. Remember the password you assign to this account - you'll need it later.

 # htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

If you want to change it later or want to add another user, use the following command:

 # htpasswd /usr/local/icinga/etc/htpasswd.users <USERNAME>
[Note] Note

Depending on your distribution/Apache-version you may have to use htpasswd2 instead.

Reload/Restart Apache to make the new settings take effect.

Fedora/RHEL/CentOS

 # service httpd restart

Debian/Ubuntu/openSuSE

 # /etc/init.d/apache2 reload

Compile and Install the Nagios Plugins

Extract the Nagios plugins source code tarball.

 # cd /usr/src 
 # tar xvzf nagios-plugins-1.4.13.tar.gz
 # cd nagios-plugins-1.4.13 

Compile and install the plugins by changing install directory to /usr/local/icinga

 # ./configure --prefix=/usr/local/icinga --with-nagios-user=icinga 
 # make 
 # make install 

Start Icinga

Add Icinga to the list of system services and have it automatically start when the system boots (make sure you have installed the init script before).

Fedora/RHEL/CentOS/openSuSE

 # chkconfig --add icinga 
 # chkconfig icinga on 

Debian/Ubuntu

 # ln -s /etc/init.d/icinga /etc/rcS.d/S99icinga

Verify the sample Icinga configuration files.

 # /usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg

If there are no errors, start Icinga.

Fedora/RHEL/CentOS

 # service icinga start

DebianUbuntu/openSuSE

 # /etc/init.d/icinga start

Login to the Web Interface

You should now be able to access the Icinga web interface at the URL below. You'll be prompted for the username ( icingaadmin) and password you specified earlier.

 http://localhost/icinga/

or

 http://yourdomain.com/icinga/

Click on the "Service Detail" navbar link to see details of what's being monitored on your local machine. It will take a few minutes for Icinga to check all the services associated with your machine.

Other Modifications

Make sure your system's firewall rules are configured to allow access to the web server if you want to access the Icinga interface remotely.

 # iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Setting up your mail transfer agent (MTA) like exim, sendmail or postfix to allow Icinga sending notification emails won't be explained here.

Please refer to the Nagios Wiki for more resources.

You're Done

Congratulations! You successfully installed Icinga. Your journey into monitoring has just begun.

You'll no doubt want to monitor more than just your local machine, so check out the chapter on "Getting Started" about "Monitoring ..."