Portál AbcLinuxu, 30. dubna 2025 13:12

Nagios + Centreon + MySQL - moduly pro Centreon

15. 4. 2008 | Max Devaine
Články - Nagios + Centreon + MySQL - moduly pro Centreon  

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ě.

Obsah

Moduly

link

Nejpoužívanějšími moduly jsou asi tyto:

Instalace modulů

link

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ěžší.

StatusMap

link

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.

nagios moduly 01

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).

nagios moduly 04

Nyní se už můžete podívat na statusmapu v sekci Monitoring -> Nagios Status Map.

SyslogNG

link

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:

nagios moduly 06

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:

nagios moduly 07

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 v Centreon

link

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/):

nagios moduly 08

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

nagios moduly 09

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.

nagios moduly 10

Čeština do Centreon

link

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:

nagios moduly 11

Závěr

link

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í.

Seriál Nagios + Centreon + MySQL (dílů: 5)

První díl: Nagios + Centreon + MySQL - instalace a základní konfigurace, poslední díl: Nagios + Centreon + MySQL - moduly pro Centreon.
Předchozí díl: Nagios + Centreon + MySQL - skripty

Související články

Nagios + Centreon + MySQL - skripty
Nagios + Centreon + MySQL - konfigurace pomocí Centreon
Nagios + Centreon + MySQL - instalace a základní konfigurace
Traffic shaping (patchování a instalace)
Traffic shaping - 2 (IMQ a úvod do shapingu)
Jemný úvod do adresace v protokolu IP verze 4
OSPF - dynamické routování
Nastavení DNS
Čo keď nechodí sieť?
IPSec v kernelu 2.6
Kešovací DNS server BIND
Jak nabootovat Linux po síti
Směrování v sítích IP
NFS+NIS+LTSP - přihlašování na server
Seriál: Domácí síť
Seriál: Soukromá síť
Seriál: Stavíme bezdrátovou síť
Seriál: Linuxové DMZ

Odkazy a zdroje

php-syslog-ng
PerfParse
Performance Data
Main Configuration File Options
Modules
Graphs

Další články z této rubriky

PowerDNS – přívětivý a jednoduchý DNS server
Bootování ze sítě: pxelinux a kořenový adresář na NFS
Těžký život Do Not Track
OpenAFS – servery
Architektura IPv6 – konfigurace adres a objevování sousedů (2)

Diskuse k tomuto článku

Max avatar 15.4.2008 07:26 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Odpovědět | Sbalit | Link | Blokovat | Admin
Ještě takový malý hint, který se do článku nestihnul dostat. Ti z vás, co používají firefox, mohou využít plugin Nagios Checker. Ten dle zvoleného intervalu zjišťuje stavy nagiosu pomocí status.cgi. Výstižně se schová do pravého dolního rohu a pokud dostane hlášku, že nějaká služba nebo host neběží, tak vydá zvukový signál a začne blikat příslušnou barvou.
Nastavení tohoto pluginu popíši velmi stručně. V "nastavení" pluginu, karta "Obecné" zvolte "Přidat Nový". Zvolte si libovolný název. Webové rozhraní nagiosu je :
http://ip_adresa/nagios2
Nastavení 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.cgi
Další 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é.
Zdar Max
Měl jsem sen ... :(
15.4.2008 08:10 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Díky! Velice užitečný hint!
Co se týká nastavené adresy k status.sgi, tak mi stačilo po zadání adresy webového rozhraní kliknout na banner Zjistit adresu.
15.4.2008 08:12 . | skóre: 8 | blog: ,
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
super :-)
17.4.2008 08:10 iji | skóre: 29
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Uzasne rozsireni. Diky za tip
15.4.2008 09:46 skunerq | skóre: 19 | blog: skunerovo
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim, super prace jen ten link na cestinu do Centreonu neni spravne
15.4.2008 09:55 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Sorry, opraveno.
15.4.2008 09:52 Juraj
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Odpovědět | Sbalit | Link | Blokovat | Admin
alsia vec, co mi niekedy ulahcila pracu, je ze nagios obsahuje v sebe aj stranku celkom dobre pozeratelnu cez mobil (WAP)... obcas sa to hodi, ked chce clovek urobit rychly acknowledge, alebo sa pozriet ako sa veci maju: http://xxxxxxxx/nagios/cgi-bin/statuswml.cgi
16.4.2008 13:52 Skřivy | skóre: 10
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Odpovědět | Sbalit | Link | Blokovat | Admin
Prosím o úpravu - myslím, že se píše: , který umí
16.4.2008 19:11 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Uff, jsem slepej...
16.11.2008 00:04 nimir
Rozbalit Rozbalit vše Re: Nagios + Centreon + MySQL - moduly pro Centreon
Odpovědět | Sbalit | Link | Blokovat | Admin
Mám problém s nastavením StatusMap vše dělám popořadě dle návodu, bohužel u zadání "mv statusmap/ /usr/local/share/Centreon/www/modules/" do konzole mi napíše "mv: target `/usr/local/share/Centreon/www/modules/' is not a directory: není souborem ani adresářem" neví někdo co s tím? děkuji

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.