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ů
- instalace
- základní konfigurace
- řešení případných problémů
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í
- dostupnosti síťových periferií (echo request = ping)
- dostupnosti služeb (SMTP, FTP, HTTP, SSH a mnoho dalších)
- systémové údaje síťových zařízení podporující SNMP
- podporuje pluginy - možnost jednoduchého dopsání vlastních skriptů
- umí nám poslat e-mail, SMS, zprávu na pager, udělat nějakou akci (něco spustit, restartovat, vypnout, ...) při nějakém námi definovaném stavu (něco neodpovídá, nějaký AP je nedostupný, ...)
- podporuje statistiky, záznamy událostí (logy)
- umí graficky rozkreslit topologii sítě ve 2D, ale i 3D
- vzdálená správa pomocí webového rozhraní
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
- velmi pěkné, přívětivé webové prostředí
- propojení s MySQL
- možnost přídavných modulů
- správu logů
- správu statistik a grafů
- jednoduchou aktualizaci
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:
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):
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:
Pokud nepoužíváte nebo nevíte, co je to LDAP, tak nechte zaškrtnuto dle obrázku:
Nyní se můžeme přihlásit s údaji, které jsme před chvílí zadali při instalaci:
Objeví se nám něco takového:
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):
Ř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?
- Seznámení s konfigurací Nagiosu a webovou správou pomocí Centreon.
- Instalace a konfigurace vybraných modulů do Centreon (hlavně syslog-ng).
- Zprovoznění 2D a 3D mapy v Nagiosu a následně v Centreon.
- Vše o SNMP, instalace, konfigurace, nastavení v Nagiosu.
- Instalace a nastavení MRTG.
Odkazy a zdroje
nagios.orgcentreon.com
http://wiki.unicov-net.com/index.php/Nagios
Nagios Installation and configuration
Centreon su Debian Etch 4.0r1