Portál AbcLinuxu, 30. dubna 2025 13:12
Pokud chcete mít více webových nadstaveb různých aplikací v jednom rozhraní, tak by bylo na čase podívat se na moduly Centreon (StatusMap. SyslogNG). Zájem o grafy je velký, takže se podíváme i na ně.
Nejpoužívanějšími moduly jsou asi tyto:
Instalace modulů není úplně jednotná. U všech neplatí styl klik-install-hotovo. Každý modul potřebuje k životu něco jiného, jeden třeba databázi, další jiné funkční webové rozhraní apod. Proto zde popíši instalaci dvou modulů. Lehčí a těžší.
Prvním modulem budiž StatusMapa. Stáhneme ji, rozbalíme a přesuneme do adresáře Centreon určeného pro moduly. V neposlední řadě ještě nastavíme práva.
cd /usr/local/src/
wget -c http://download.oreon-project.org/index.php?id=60
tar xvfz NagiosStatusMap-1.1.tar.gz
mv statusmap/ /usr/local/share/Centreon/www/modules/
chown -R www-data:www-data /usr/local/share/Centreon/www/modules/statusmap/
Nyní by se vám měla v rozhraní Centreon v sekci s moduly Options -> Modules objevit položka statusmap, která je připravena k instalaci. Takže už stačí jen ťuknout na ikonku úplně vpravo ve sloupečku Actions, čímž se dostanete k instalaci modulu. Pak už jen potvrdíte položkou Install Module a během chvilky se zobrazí nápis Module installed and recorded SQL file included, což značí úspěch.
Nyní je třeba se z Centreon rozhraní odhlásit a znovu přihlásit. V nově přidané položce Options -> General Options -> Nagios Status Map nastavíme potřebné údaje jako třeba cestu k CGI skriptu, login a heslo do základního webového rozhraní Nagios (popisované v prvním díle).
Nyní se už můžete podívat na statusmapu v sekci Monitoring -> Nagios Status Map.
Tento modul načítá logy z databáze a pak s nimi umí pracovat, různě je filtrovat apod. Vše velmi pěkně a přehledně. Základem je samozřejmě mít nainstalovaný syslog-ng. Na Debianu/Ubuntu postačí:
aptitude install syslog-ng
První problém je, že my běžně nelogujeme do databáze, ale do souborů ve /var/log/. Takže nejdříve musíme dostat logy do databáze.
Vytvoříme si databázi syslogng pro záznamy ze syslog-ng a přiřadíme jí uživatele syslogng s příslušnými právy a heslem třeba kaLa2okeLo:
mysql -u root -p
create database syslogng;
create user syslogng;
use syslogng;
GRANT ALL PRIVILEGES ON syslogng.* TO 'syslogng'@'localhost' IDENTIFIED BY 'kaLa2okeLo';
FLUSH PRIVILEGES;
quit
Dále využijeme projekt php-syslog-ng a půjčíme si z něj SQL skript pro vytvoření tabulek. Abyste nemuseli stahovat php-syslog-ng, tak tady dávám k dispozici onen skript: dbsetup.sql. Instalaci provedem takto:
mysql syslogng -u root -p < dbsetup.sql
Nyní musíme nastavit syslog-ng pro vytvoření pipe. Takže do /etc/syslog-ng/syslog-ng.conf doplníme následující řádky:
# Do sekce "Destination" doplníme: destination d_mysql { pipe("/var/log/mysql.pipe" template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes)); }; # Dále na konec souboru doplníme: log { source(s_all); destination(d_mysql); };
Vytvoříme pipe:
mkfifo /var/log/mysql.pipe
Načteme nové nastavení syslog-ng:
/etc/init.d/syslog-ng restart
Nyní nám tečou logy ze syslog-ng i do mysql.pipe. Už si je jen stačí vyzvednout a házet do databáze. K tomu nám postačí jednoduchý skriptík syslogng2mysql.sh:
#!/bin/bash echo "Starting syslog-ng2mysql" if [ -e /var/log/mysql.pipe ]; then while [ -e /var/log/mysql.pipe ] do mysql -u syslogng --password=kaLa2okeLo syslogng < /var/log/mysql.pipe done else mkfifo /tmp/mysql.pipe fi
Jen mu ještě nastavit práva a pak spustit:
chmod 700 syslogng2mysql.sh
./syslogng2mysql.sh &
Nyní už jen stačí stáhnout a nainstalovat syslog-ng modul do Centreon. Postup je obdobný jako u instalace modulu StatusMap:
cd /usr/local/src/
wget -c http://download.oreon-project.org/index.php?id=62
tar xvfz SyslogNG-1.0.tar.gz
mv syslogNG/syslogNG /usr/local/share/Centreon/www/modules/
chown -R www-data:www-data /usr/local/share/Centreon/www/modules/syslogNG/
Opět se objeví v sekci s moduly nová položka, tentokrát syslogNG. Nainstalujeme stejným způsobem. Odhlásíme se z Centreon a znovu přihlásíme. V položce Options -> General Options -> Syslog-NG vyplníme potřebné údaje a uložíme:
Nyní můžeme vesele ťuknout na nově vytvořenou záložku Syslog-NG vpravo nahoře vedle Configuration a naskytne se nám přibližně následující pohled:
Jenom bych ještě upozornil, že data se sypou do databáze stále a stále. Hromadí se tam záznamy, takže by bylo dobré záznamy starší x dní/měsíců (podle toho, jak dlouho chcete uchovávat logy v databázi) mazat. Osobně to dělám pomocí skriptu, který spouštím cronem každý den:
#!/bin/sh
mysql -u syslogng --password=kaLa2okeLo syslogng \
-e "DELETE FROM logs WHERE datetime <= SUBTIME(NOW(), '824:0:0');"
Určitě se najde nějaké lepší řešení, rád se nechám v diskusi poučit :).
Seznam modulů a postup instalace některých modulů můžete nalézt na wiki stránkách Centreon: http://wiki.Centreon.com.
Grafy můžeme vykreslovat dvěma způsoby. Buď přímo pomocí nástrojů, které v sobě Centreon integruje od verze 1.4, nebo pomocí PerfParse. Centreon obsahuje konfigurační klikátka na nastavení PerfParse, ale tato klikátka jsou ještě z dob, kdy Centreon sám neuměl grafy vykreslovat. Jednoduší a schůdnější tedy je ignorovat konfigurační okna PerfParse a pustit se do nastavení integrovaných součástí v Centreon.
Otevřeme si nabídku Centreon Options -> CentreonDataStorage -> Config a vyplníme údaje dle obrázku (jen upozorním na okem lehce zaměnitelné cesty /var/log/ a /var/lib/):
Dále je třeba v sekci Configuration -> Nagios -> Nagios CFG -> Nagios CFG 1 nastavit:
Performance Data Processing Option: Yes
Service Performance Data Processing Command: process-service-perfdata
Nyní stačí restartovat službu ODS (Oreon Data Storage), která se nám nainstalovala spolu s rozhraním Centreon a spouští se automaticky po startu systému:
/etc/init.d/ods restart
Pomocí parametru status je možno ověřit, zda běží:
/etc/init.d/ods status
Nyní by také už měl regulérně fungovat Event Log Centreon v sekci Monitoring -> Event Log. A když počkáme tak 15 minut, tak by se nám už měly objevit hosty v položce Centreon views u grafu v záložce Host.
Ano, čeština je. Přeložil jsem rozhraní Centreon do češtiny, včetně modulu syslogNG. Je přeloženo 93 % textů. Vesměs se jedná o strojový překlad. Neměl jsem totiž zatím čas ověřit, zda dávají všechny překlady smysl, ale základní rozhraní, nabídky a nastavení ano. Pokud má někdo čas a chuť, může dokončit, co jsem započal. Soubory lokalizace jsou zde: centreon-cs.tar.bz2. Postup instalace češtiny:
tar xvf Centreon-cs.tar
cp -r Centreon/www/ /usr/local/share/Centreon/
chown -R www-data:www-data /usr/local/share/Centreon/www/
Nyní stačí jít do nastavení uživatele (jednoduše přejdete tím, že ťuknete vlevo v nabídce na jméno aktuálně přihlášeného uživatele = Online Users) a Default Lang změníte na cs, poté uložit, přeťuknout na jinou záložku a čeština je načtena. Jak to vypadá, můžete vidět na obrázku níže:
Na závěr tohoto posledního dílu vám zvednu trochu chutě na chystanou další verzi Centreon, která bude první z druhé řady. K dispozici je celkem impozantní video (bohužel ve flashi): Centreon 2.0 preview. Seznam novinek je poté vidět zde: Centreon-2.0-Features. Jak vidno, tak asi mezi největší novinky patří podpora Nagios 3, NDOutil a Distributed Monitoring. Případný přechod na novější verzi bych prozatím asi neviděl jako problémový. Čeština by měla být také do jisté míry s verzí 2.0 kompatibilní.
http://ip_adresa/nagios2Nastavení adresy stavového scriptu musíte udělat ručne, tj. zaškrtnout dole políčko "Nastavit adresu ručně" a do adresy napsat :
http://ip_adresa/nagios2/cgi-bin/status.cgiDalší věci si nastavte dle sebe. Osobně jsem si informační barevné okénko zmenšil na minimum (zobrazuje jen číslo), aby bylo co nejméně rušivé.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.