Realizzare un sistema di monitoraggio con Icinga
In questa breve guida spiegherò come installare Icinga (un fork di Nagios che ha ormai superato il genitore) e Icinga Web su Ubuntu 10.04 server.
Molti passi sono uguali a quelli che ho già descritto nelle due guide sull’installazione di Nagios (1 e 2).
Operazioni preliminari
Installare i pacchetti necessari:apt-get install apache2 bsd-mailx build-essential libgd2-xpm-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-0-dev snmp libsnmp-base git-core mysql-server mysql-client libdbi0 libdbi0-dev libdbd-mysqlAggiungere utenti e gruppi:
addgroup --system icinga adduser --system --no-create-home --home /usr/local/icinga --ingroup icinga --disabled-password icinga addgroup --system icinga-cmd usermod -a -G icinga-cmd icinga usermod -a -G icinga-cmd www-dataCreare il database:
#> mysql -u root -p mysql> CREATE DATABASE icinga; GRANT USAGE ON *.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0; GRANT SELECT , INSERT , UPDATE , DELETE ON icinga.* TO 'icinga'@'localhost'; FLUSH PRIVILEGES ; quitScaricare Icinga:
cd /usr/src git clone git://git.icinga.org/icinga-core.git cd icinga-core/ git submodule init git submodule update ./configure --with-command-group=icinga-cmd --enable-idoutils make all make fullinstall make install-api cd /usr/local/icinga/etc/ cp idomod.cfg-sample idomod.cfg cp ido2db.cfg-sample ido2db.cfgEditare i due ultimi file per adattarli alle configurazioni del database. Nel file /usr/local/icinga/etc/icinga.cfg scommentare la riga:
broker_module=/usr/local/icinga/bin/idomod.o config_file=/usr/local/icinga/etc/idomod.cfgCreare le tabelle:
#> cd /path/to/icinga-src/module/idoutils/db/mysql #> mysql -u root -p icinga < mysql.sqlEdit 15/03/11: Ho dovuto modificare il file /usr/local/icinga/etc/objects/commands.cfg perchè il path al comando mail era sbagliato, quindi modificate le definizioni di notify-host-by-email e notify-service-by-email per utilizzare /usr/bin/mail e non /bin/mail.
Per terminare aggiungere Icinga ai servizi di avvio e lanciare Ido2db e Icinga:
update-rc.d icinga defaults /etc/init.d/ido2db start /etc/init.d/icinga restart
Plugins
Scaricare e installare i plugin di Nagios. Si faccia riferimento alla guida di Nagios per l'installazione, si presti solo attenzione alle differenti opzioni di configurazione:./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin --with-htmurl=/icinga --with-nagios-user=icinga --with-nagios-group=icinga
Configurazione dei check
Per la configurazione degli host e dei servizi potete vedere le mie precedenti guide per Nagios: parte 1 e parte 2.Le interfacce web
Icinga ha a disposizione due interfacce web: la classica interfaccia CGI e la nuova Icinga Web. Le due installazioni possono convivere tranquillamente.Icinga
Installare i CGI:make cgis make install-cgis make install-html make install-webconfCreare l'utente e la password per l'accesso:
htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
Icinga Web
Installare il necessario:apt-get install php5 php5-cli php-pear php5-xmlrpc php5-xsl php5-gd php5-ldap php5-mysql a2enmod rewriteScaricare e installare Icinga Web:
cd /usr/src git clone git://git.icinga.org/icinga-web.git cd icinga-web ./configure make install make install-apache-configCreare il database e lo schema:
# mysql -u root -pmysql> CREATE DATABASE icinga_web; GRANT USAGE ON . TO ‘icinga_web’@‘localhost’ IDENTIFIED BY ‘icinga_web’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX ON icinga_web.* TO ‘icinga_web’@‘localhost’; quit
make db-initialize
E, per finire:
/etc/init.d/icinga restart /etc/init.d/apache2 restart
Se avete utilizzato le impostazioni di default non dovete fare altro, altrimenti date una lettura alla guida ufficiale. Riavviate apache e connettetevi al server: http://<hostname>/icinga-web