Nagios + Centreon + MySQL - instalace a základní konfigurace

Potřebujete monitorovat stav sítě? Reagovat na nedostupnosti a chyby různými akcemi? Používat velice přívětivé klikací ovládání? Tak se pojďme podívat, co výše jmenované aplikace dokáží.

Co bude dnes na stole

Představení zmíněných programů

Nagios (dříve netsaint) je velmi kvalitní monitorovací systém šířený pod GPL2. S jeho pomocí je možné monitorovat snad vše, co najdeme v naší síti.

Pár příkladů toho, co Nagios umí

Nagios sice obsahuje webové rozhraní, ale pokud chceme něco více přívětivého s většími možnostmi, tak Centreon (dříve Orion) je jednou z těch lepších voleb.

Centreon je taktéž šířen pod GPL2. Má oproti Nagiosu mnohem přívětivější prostředí, ale potřebuje k životu databázi MySQL. O vývoj se stará především tým z Francie, takže je bohužel velké množství dokumentace a fóra ve francouzštině.

Co nám Centreon mj. nabídne

Instalace

Jelikož považuji Debian za jedno z nejsprávnějších řešení pro servery, tak vše budu popisovat pro něj. Uživatelům ostatních distribucí se omlouvám, ale budou se muset přizpůsobit.

Nagios2 + Apache2 + MySQL

Ještě než začneme instalovat, tak by bylo dobré vědět, že je důležitý mít nastavený přesný čas na serveru, aby se nám nerozcházel skutečný čas a čas zapsaný v logách. Proto bychom si měli nainstalovat něco na synchronizování času. Osobně volím ntp:

su root
aptitude install ntp ntpdate

Pokračujeme stažením a nainstalováním balíčků nagios, apache, mysql a dalších pro centreon

aptitude install nagios2 nagios-plugins nagios-images mysql-server-5.0 apache2 php5 php5-cgi php5-mysql php5-snmp php5-gd php-db php-pear php-date php-mail php-mail-mime php-net-smtp php-net-socket libapache2-mod-php5 php5-ldap sudo gcc make rrdtool librrds-perl snmp snmpd libnet-snmp-perl libpng-dev libappconfig-perl libio-socket-inet6-perl libsnmp-perl libsocket6-perl libdigest-hmac-perl libcrypt-des-perl libdigest-sha1-perl

Nastavíme uživatele root do MySQL (v příkladu jsem vytvořil heslo "pokus"):

mysqladmin -u root password pokus

Zkusme se připojit, zda nám funguje:

mysql -u root -p
# poté se z mysql odhlásíme:
quit

Vytvoříme symlink spouštěcího souboru Nagiosu (kvůli Centreon):

ln -s /usr/sbin/nagios2 /usr/sbin/nagios

Dále vytvoříme uživatele a heslo pro klasické webové rozhraní Nagiosu:

htpasswd -c /etc/nagios2/htpasswd.users admin

Nyní, se můžeme přihlásit k webovému rozhraní Nagiosu a na chvíli se pokochat:

http://127.0.0.1/nagios2

Proč nám to tak pěkně funguje

Instalační balíček Nagiosu také zkopíroval do konfiguračního adresáře Apache2 konfigurační soubor pro webové rozhraní Nagiosu: /etc/apache2/conf.d/nagios2.conf.

Přehled konfiguračních a jiných souborů:

# konfigurační soubory nagios2:
/etc/nagios2/

# webové rozhraní nagios2:
/usr/share/nagios2/htdocs

# pluginy, které se automaticky nainstalovaly do Nagiosu:
/usr/lib/nagios/plugins/

Instalace Centreon

Stáhneme instalační balíček, rozbalíme a spustíme instalaci:

cd /usr/local/src/
wget -c http://download.oreon-project.org/centreon/centreon-1.4.2.3.tar.gz
tar xvfz centreon-1.4.2.3.tar.gz
cd centreon-1.4.2.3/
nano -w INSTALL
./install.sh

Nyní budeme v následujícím instalačním dialogu odpovídat takto:

[y/n], default to [n]:y
default to [/usr/local/nagios]:/usr/lib/cgi-bin/nagios2
default to [/usr/lib/cgi-bin/nagios2/etc]:/etc/nagios2
default to [/usr/lib/cgi-bin/nagios2/var]:/var/lib/nagios2
default to [/usr/lib/cgi-bin/nagios2/libexec]:/usr/lib/nagios/plugins
default to [/usr/lib/cgi-bin/nagios2/bin]:/usr/sbin
default to [/usr/lib/cgi-bin/nagios2/share/images]:/usr/share/doc/nagios-images
default to [/usr/local/centreon]:/usr/local/share/centreon
Do you want me to create this directory [/usr/local/share/centreon]?[Y/n]Y
default to [/etc/sudoers]:
default to [/usr/local/rrdtool/lib/perl]:/usr/lib/perl5
default to [/usr/bin/rrdtool]:
default to [/usr/bin/mail]:
default to [/usr/share/pear]:/usr/share/php
[y/n], default to [y]:y
[y/n], default to [y]:y
default to [/etc/snmp/]:
y/n], default to [n]:y
Default to [nagios]

Celý instalační dialog si můžete prohlédnout: centreon.log. Tak, základ by byl nainstalovaný, ale nemyslete si, že jsme u konce.

Pokud je někdo z vás připojen přes proxy server, tak si nejdříve musí nastavit pear přes proxy:

pear config-set http_proxy http://adresa:port

Dále všichni pokračujeme:

pear upgrade pear
pear install -o -f --alldeps DB_DataObject DB_DataObject_FormBuilder MDB2 Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Net_Traceroute Net_Ping Validate XML_RPC SOAP

Vše, co se vám vypíše, můžete vidět v logu: pear.log.

Instalaci Centreonu budeme pokračovat přes webový prohlížeč, ale nejdříve musíme web Centreon nějak zpřístupnit, třeba takto:

ln -s /usr/local/share/centreon/www /var/www/centreon

Tak, teď si otevřeme ve svém oblíbeném webovém prohlížeči adresu:

http://127.0.0.1/centreon/
# která nás přesměruje na:
# http://127.0.0.1/centreon/install/setup.php

Dále pokračujeme klikáním:

nagios 01 nagios 02
nagios 03
nagios 04 nagios 05

V této chvíli doplníme root heslo do MySQL, dále jméno databáze pro Centreon, poté jméno databáze pro datový sklad Centreon a heslo do db (jiné, než má root):

nagios 06 nagios 07

Vyplníme uživatelské jméno a následně heslo do webového rozhraní Centreon. Dále jméno a v zápětí příjmení administrátora a ve finále e-mail:

nagios 08

Pokud nepoužíváte nebo nevíte, co je to LDAP, tak nechte zaškrtnuto dle obrázku:

nagios 09 nagios 10
nagios 11
nagios 12

Nyní se můžeme přihlásit s údaji, které jsme před chvílí zadali při instalaci:

nagios 13

Objeví se nám něco takového:

nagios 14

Bohužel Centreon ještě není zcela vyladěn pro všechny možné distribuce, takže budeme muset ještě upravit pár hodnot v MySQL databázi:

mysql -u root -p
use centreon
UPDATE general_opt SET nagios_path_bin = '/usr/sbin/nagios2';
UPDATE cfg_cgi SET physical_html_path = '/usr/share/nagios2/htdocs';
UPDATE cfg_cgi SET url_html_path = '/nagios2';
UPDATE cfg_nagios SET log_file = '/var/log/nagios2/nagios.log';
UPDATE cfg_nagios SET temp_file = '/var/tmp/nagios.tmp';
UPDATE cfg_nagios SET status_file = '/var/cache/nagios2/status.dat';
UPDATE cfg_nagios SET p1_file = '/usr/lib/nagios2/p1.pl';
UPDATE cfg_nagios SET log_archive_path = '/var/log/nagios2/archives/';
UPDATE cfg_nagios SET downtime_file = '/var/lib/nagios2/downtime.dat';
UPDATE cfg_nagios SET comment_file = '/var/lib/nagios2/comments.dat';
UPDATE cfg_nagios SET lock_file = '/var/run/nagios2/nagios2.pid';
UPDATE cfg_nagios SET state_retention_file = '/var/lib/nagios2/retention.dat';

use cds
UPDATE config SET RRDdatabase_path = '/usr/local/share/centreon/www/include/options/oreon/generalOpt/OreonDataStorage/';
UPDATE config SET drop_file = '/var/log/nagios2/service-perfdata.tmp';
UPDATE config SET perfdata_file = '/var/log/nagios2/service-perfdata';

Pokud se nyní znovu přihlásíte k webovému rozhraní Centreon, uvidíte něco podobného tomuto (v základním nastavení má Nagios monitorování lokálního PC a všech jeho služeb):

nagios 15

Řešení případných problémů

Pokud je pro někoho příkazová řádka pro ovládání MySQL velkým problémem, tak si nainstalujte phpMyAdmin, webový nástroj pro správu mysql:

aptitude install phpmyadmin

Nyní stačí zadat do webového prohlížeče následující adresu, zadat uživatele root a heslo k MySQL a je to:

http://127.0.0.1/phpmyadmin

Pokud se někomu stane, že si omylem přejmenuje uživatele Centreon nebo mu změní heslo a nebude se moci přihlásit, tak vězte, že to jde napravit. Údaje o uživateli i hesle jsou uloženy v databázi Centreon v tabulce contact. Heslo je uloženo v md5 hashi. Jméno uživatele zjistíme nebo změníme velice snadno:

$mysql -u root -p
use centreon
select contact_alias from contact;
UPDATE contact set contact_alias = 'admin';
quit

S heslem je to složitější. Musíme si vygenerovat nový md5 hash z našeho nového hesla. To můžete udělat například takto:

echo -n heslo | md5sum
955db0b81ef1989b4a4dfeae8061a9a6 -

Poté stačí jen vygenerovaný md5 hash změnit v oné tabulce a je hotovo:

mysql -u root -p
use centreon
UPDATE contact set contact_passwd = '955db0b81ef1989b4a4dfeae8061a9a6';
quit

Nyní se dle mého příkladu můžeme přihlásit do Centreon pomocí:

jméno: admin
heslo: heslo

Závěr

Tak, pro dnešek by to snad mohlo být vše. A co nás čeká v dalších pokračováních?

Odkazy a zdroje

nagios.org
centreon.com
http://wiki.unicov-net.com/index.php/Nagios
Nagios Installation and configuration
Centreon su Debian Etch 4.0r1