Nagios + Centreon + MySQL - konfigurace pomocí Centreon
Tak copak nás dnes čeká
- Seznámení s prostředím
- Základní monitorování počítačů a služeb
- Export nastavení do Nagiosu
- ACL
- Závěr
Seznámení s prostředím
Centreon má velice přehledné ovládání, ač se to někomu zpočátku nemusí zdát. Veškeré nastavení se ukládá do databáze MySQL. Když máme vše nastaveno, tak se nastavení exportuje do konfiguračních souborů Nagiosu, které se pak znovu načtou. V základu se ovládání rozhraní Centreon dělí na 7+1 položek:
- Home
- V podobě dvou kulatých grafů je procentuálně zobrazen poměr stavů monitorovaných zařízení a služeb. Je to jen taková vývěsní tabule s téměř žádnou vypovídající hodnotou.
- Monitoring
- Tato sekce je určena čistě k prohlížení stavů zařízení a služeb a v neposlední řadě je k dispozici záznam monitorovaných úkonů. Nelze v ní nic nastavovat.
- Reporting
- Název opět říká vše. Sekce nám jen generuje reporty, které procentuálně ukazují dostupnost konkrétních zařízení nebo služeb.
- Centreon views
- Tato sekce slouží ke generování grafů, nastavování vzorů (předloh) grafů apod. Zatím jsem nepřišel na to, jak ji donutit k rozumné činnosti.
- ID Cards
- Tato sekce by se dala nazvat vývěsní tabule zařízení. Dokáže třeba pomocí SNMP načíst info o zařízení a to potom velice pěkně a utříděně prezentovat.
- Options
- V této sekci se nastavuje rozhraní Centreon a provádí nastavení Nagiosu, uživatelů, instalace modulů a prostě vše, co je nějak spjaté s nastavováním rozhraní, nikoli ovšem monitoringu jako takového.
- Configuration
- Tato sekce bude hlavním tématem článku. Nastavuje se tam monitorování zařízení, služeb, kontaktních skupin, kontrolních skriptů Nagiosu, závislosti mezi službami a zařízeními a v neposlední řadě jsou tam i tlačítka pro uložení konfigurace do Nagiosu.
- Status bar
- Vpravo nahoře jsou k vidění dva stavové řádky. První zleva ukazuje dostupnosti zařízení, druhý dostupnosti služeb. Je to velice přehledné a převzaté z klasického rozhraní Nagiosu.
Základní monitorování počítačů a služeb
Nyní si popíšeme, jak monitorovat, zda je seznam.cz online a zda na něm běží HTTP server. Ještě než začneme, tak malý slovníček pojmů:
- host - vzdálený počítač, který chceme monitorovat
- service - služba, kterou chceme monitorovat na vzdáleném hostu (počítači)
- template - šablona, vzor, pomocí kterého jednoduše nastavíme parametry monitorování k více službám nebo hostům najednou
- user - uživatel Centreonu a kontaktní osoba, které jsou zasílány zprávy
Kontaktní uživatel a skupina
V základu máme vytvořeného jednoho uživatele, ale zprávy můžeme zasílat jen skupinám kontaktních uživatelů (contact groups), proto musíme nejdříve vytvořit skupinu a stávajícího uživatele (Full Name: Max Devaine; Alias: admin) do ní zařadit:
Configuration -> Users -> Contact Groups
Ještě nám ovšem chybí nastavit kontaktního uživatele tak, aby mu byly zasílány emaily v případě různých typů událostí:
Configuration -> Users -> Contacts
Hosts Notification options (zasílat zprávy o):
- down - host spadl
- unreachable - host je nedostupný
- recovery - host je zase dostupný
- flapping - občas to proběhne OK, ale něco se děje
Host Notification period (kdy se mají zasílat zprávy). Tyto časy lze lehce naklikat v:
Configuration -> Users -> Time Periods
Standardně jsou přednastaveny tyto:
- 24x7 - 24 hodin, 7 dní v týdnu, prostě stále
- none - nikdy
- workhours - v pracovních hodinách
- nonworkhours - v nepracovních hodinách
Services Notification options (zasílat zprávy o):
- warning - varování
- unknown - stav služby je neznámý
- critical - služba spadla nebo je nedostupná
- recovery - služba se obnovila a vše je opět v pořádku
- flapping - občas to proběhne OK, ale něco se děje
Dále je na obrázku nastaveno, aby se zasílaly pouze emaily (notify-by-email), jak ohledně hlášení stavu hostů, tak služeb.
Postup vytvoření hosta
Nejdříve si vytvoříme hostgroup, skupinu, které budeme přiřazovat jednotlivé hosty:
Configuration -> Hosts -> Host Groups
Dále host template, který poté budeme moci použít např. na všechny další podobné monitorované počítače.
Configuration -> Hosts -> Host Templates
Na obrázku je šablona nastavena následovně:
- Kontroluj 24 hodin denně, 7 dní v týdnu.
- Kontroluj, zda se host ozývá (ping apod. -> check_host_alive)
- Kontroluj maximálně každé 4 minuty.
- Normálně každé 2 minuty
- Pokud se něco stane, tak zprávy o stavu hosta zasílej každé 2 minuty (toto číslo by mělo být rovno nebo větší jak "Normal check interval").
- Zprávy zasílej 24 hodin denně 7 dní v týdnu.
- Zasílej zprávy o jakémkoliv stavu.
Můžete si všimnout položky "Host Model Template". Tato položka umožňuje použít tzv. multilevel template. Což znamená, že si můžete vytvořit jinou šablonu, kterou použijete při vytváření druhé šablony, a tu poté přířadíte hostu. Takže finále může vypadat tak, že host bude nastaven ve třech položkách (šablona1, kterou bude částečně využívat, šablona2 a v hostu, který načte šablonu2, si nějaké další nastavení můžeme také upřesnit).
Nyní konečně vytvoříme hosta, přiřadíme mu šablonu "hostings" a zařadíme ho v záložce "Relations" do skupiny "Hostings". Nic víc nevyplňujeme, protože o ostatní údaje se nám stará ona šablona. Pokud nepoužijeme šablonu, tak musíme vyplnit všechny údaje, u kterých je červená hvězdička.
Configuration -> Hosts
Postup vytvoření služby
Při vytvoření monitorovací služby (v našem případě budeme kontrolovat dostupnost webu) budeme postupovat podobně jako u vytváření hosta. Vytvoříme si šablonu služby, poté samotnou službu, kterou přiřadíme k hostu. Nic víc.
Vytvoření šablony služby:
Configuration -> Services -> Service Templates
Myslím, že zde už komentáře netřeba - vše je jasné z nastavování hosta.
Nyní si vytvoříme službu, přiřadíme jí jméno (třeba: seznam-http), šablonu ("web") a hosta ("seznam.cz" - opět záložka "Relations"). Nic víc nenastavujeme, jelikož se nám o vše opět stará šablona.
Export nastavení do Nagiosu
Teď už nám jen chybí celé nastavení promítnout do Nagiosu. Nejdříve bychom si měli zazálohovat stávající nastavení:
cd /etc/nagios2
tar cvf nagios2-etc.tar *
A jelikož nikdo není dokonalý a neomylný, tak jsem minule udělal drobnou chybičku (která je tam již opravena). Pokud jste však podle návodu postupovali někdy v době mezi vydáním prvního a druhého dílu, opravte si ještě nastavení cesty k init skriptu Nagiosu. Provedete to takto:
Options -> General Options -> Nagios
Položku "Init Script" změňte z:
/etc/init.d/nagios
na:
/etc/init.d/nagios2
a uložte. Nyní už stačí v Centreon přejít do záložky
Configuration -> Nagios
Tam zaškrtnout položky "Move Export Files" a "Restart Nagios" a poté potvrdit tlačítkem "Export", viz obrázek:
Pokud bude vše v pořádku, tak vám Centreon vypíše toto:
Nyní se můžete podívat do konfiguračního adresáře Nagiosu a kochat se tím množstvím konfiguračních souborů, které nám tam najednou vykvetly :).
Tento způsob třídění a přiřazování hostů a služeb není jediný, můžeme používat "Services Groups", "Services By Host Group" a další různé kombinace. Podle toho, jak chceme, aby se ve výsledku Nagios choval.
ACL
Access Control List nám umožňuje nastavit práva přístupu k jednotlivým položkám Centreonu. Jednoduše řečeno: chtěl bych, aby se Franta mohl přihlásit do Centreonu a aby viděl jen ty položky, které já mu povolím (třeba jen sekci Monitoring). Jak na to?
Vytvoříme si kontaktní skupinu, třeba s názvem a aliasem "users". Dále si vytvoříme nového uživatele (položka Contacts):
Full Name: Franta od vedle
Alias: Franta
Email: franta@gmail.com
Cotact Groups parent: users
Reach Centreon Frontend: Yes
Password: kopr
Confirm: kopr
Mail type: txt
Admin: No
...
Zbytek nastavení znáte z obrázků na začátku článku.
Nyní si vytvoříme skupinu, které přiřadíme ACL práva:
Options -> ACL
Pojmenujeme si ji třeba "users", přiřadíme do kontaktní skupiny "users" a teď to nejdůležitější: v záložce "Resources" přidáme hosty či skupiny hostů, které chceme, aby skupina users viděla. Dále v záložce "Topology" zaškrtneme všechny položky, ke kterým chceme povolit přístup skupině users.
Nyní, když se odhlásíme a přihlásíme jako "franta" s heslem "kopr", tak se nám naskytne následující pohled:
Ve vašem případě byste měli vidět obě položky zeleně a v pořádku. Já mám nedostupného hosta "seznam.cz" z prostého důvodu. Nagios mi běží ve VirtualBoxu a ještě jsem si ho nestačil nastavit tak, aby mi propouštěl i pingy.
Závěr
Jak vidíte, Centreon je celkem jednoduchá klikačka, pomocí které Nagios lehce nastavíte. Za domácí úkol se podívejte, co umí položky "Dependencies" a "Escalations". Příště si řekneme něco o skriptech a o tom, co dokáží moduly pro Centreon, plus pár dalších drobností - např. proč se vám nyní z Nagiosu neodesílají e-maily apod.
Odkazy a zdroje
nagios.orgcentreon.com
http://wiki.unicov-net.com/index.php/Nagios
Nagios Installation and configuration
Centreon su Debian Etch 4.0r1