Nagios, Icinga SLA kimutatás



Korábban bemutattam, hogy lehet telepíteni az  Icinga infrastruktúra monitorozó alkalmazást chroot-olt környezetbe. Ott leírtam az ido2db modul telepítésének lépéseit. Ezt Nagioshoz már csomagkezelőből is lehet telepíteni a frissebb rendszereknél. A csomag neve: ndoutils-common, ndoutils-nagios3-mysql. Ezzel nagioshoz az ndo2db modul bírható működésre.
A Nagiosnak (Icinga is) van beépített SLA riport generátora, ami a logokat feldolgozva információt ad az adott host vagy service rendelkezésreállásáról. ennek használata egyszerű, de egy kicsit körülményes.
Az adatbázisban tárolt alertekből magunk is készíthetőnk jobban kézreálló riport generátort. Készítettem egyet, ezt mutatom be.

Adatforrás


Az adatokat természetesen az ido2db vagy ndo2db adatbázisából szerzem, így aktuális adatokkal dolgozhatunk. Az alábbi SQL utasítással a megfelelő adatokból View táblát készítettem a további lépések leegyszerűsítéséhez. A táblanevet ellenőrizve alkalmazható az alábbi utasítás:

CREATE VIEW  notifications as SELECT
UNIX_TIMESTAMP(entry_time) as  date,
REPLACE(SUBSTRING_INDEX(logentry_data, ';', 1),'SERVICE ALERT: ','')as host,
SUBSTRING_INDEX(SUBSTRING_INDEX(logentry_data, ';', 2), ';', -1) as service,
SUBSTRING_INDEX(SUBSTRING_INDEX(logentry_data, ';', 3), ';', -1)  as state,
SUBSTRING_INDEX(SUBSTRING_INDEX(logentry_data, ';', 4), ';', -1)  as state_type,
SUBSTRING_INDEX(SUBSTRING_INDEX(logentry_data, ';', 5), ';', -1)  as state_type_num,
SUBSTRING_INDEX(SUBSTRING_INDEX(logentry_data, ';', 6), ';', -1)  as notification
from icinga_logentries
where logentry_data  like 'SERVICE ALERT%'

Látható, hogy az egyébként nem Unixtimestamp- ként tárolt időpontból Unixtimestamp-ot készítek. Így egyszerűbb lesz az időpontok között eltelt időt kiszámítani.

Adat feldolgozás


Az előzőleg előkészített adatokat célszerűen web-es felülettel dolgozom fel, így az egész rendszer a Nagios (Icinga) mellett tárolható.
A felület nem túl összetett, a host vagy service kiválasztásán kívül a kezdeti és vég dátum kiválasztására van lehetőség. Persze az összegyűjtött adatok sokkal részletesebben feldolgozhatók.
Icinga SLA
A kiválasztott host és service, valamint a megadott időpont alapján a view tábla feldolgozása következik.
A kiesést a CRITICAL állapot első megjelenése és a következő OK állapot között számoltam. Ez azt jelenti, hogy a CRITICAL állapot beálltakor a SOFT (state) és 1 (attempt) a kezdeti időpont és az OK állapot beállta a kiesés kezdő és záró időpontja. Az állapotokról és attempt értékekről   A Nagios lehetőségei  írásomban részletesebb leírást találsz.

A kieséseket összesítem és SLA-t számolok az adott időszakra. Az események megjelenítése perc bontásban jelennek meg, de a kiesés másodperc pontosan van számolva, így a megjelenített és számolt adatok között minimális eltérés látszik - a könnyebb olvashatóság érdekében.

Icinga, Nagios SLA


A megjelenítő alkalmazást átadom, a részleteket  megbeszéljük.


Kulcsszavak: Nagios, Icinga, monitorozás, HTML

Új hozzászólás: