Hostgroups a šablony.
Šablony vám umožňují definovat třídy pro vaše hostitele a služby, např. "normální služba", "kritická služba", "hostitel s nízkou prioritou". Slouží také jako užitečný způsob, jak rozdělit odpovědnosti, pokud máte více týmů s různými odpovědnostmi, takže můžete mít šablonu „hostitel linux“ a šablonu „hostitel systému Windows“, přičemž každý z nich definuje příslušné kontaktní informace.
Na jednom zdroji můžete použít více šablon, takže můžete sestavit vhodně ortogonální šablony. Například můžete mít
host foo {
use windows-host,normal-priority-host
...
}
který by stáhl kontaktní informace (a eskalace) pro tým Windows a míry dotazování a prahové hodnoty pro "normálního" hostitele.
Hostgroups vám umožňují seskupit všechny kontroly pro podmnožinu vašich hostitelů. Mít věci jako "baseline-linux-hosts", které kontrolují zatížení, místo na disku, ssh
schopnosti a jakékoli další věci by měly být na každém hostiteli, kterého sledujete. Přidejte skupiny jako „https-servery“ s kontrolami připojení HTTP, HTTPS a dat vypršení platnosti certifikátu SSL; "fileservery" s kontrolami dostupnosti NFS a SMB a možná agresivnějšími kontrolami disku; nebo „virtuální stroje“ s kontrolami, zda nástroje pro usnadnění přístupu virtuálních počítačů fungují správně.
Umístěte každého hostitele a hostitelskou skupinu do vlastního souboru. Tento soubor by měl nejprve obsahovat definici hostitele nebo hostitelské skupiny a poté definice služeb, které se na něj vztahují.
Pokud použijete cfg_dir
direktivu ve vašem nagios.cfg
Nagios bude rekurzivně prohledávat tento adresář. Využijte toho. Pro nastavení cfg_dir=/etc/nagios/conf.d
, můžete mít strom adresářů, jako je tento:
- /etc/nagios/conf.d/
- commands.d/
- http.cfg
- nrpe.cfg
- smtp.cfg
- ssh.cfg
- hosts.d/
- host1.cfg
- host2.cfg
- host3.cfg
- hostgroups.d/
- hostgroup1.cfg
- hostgroup2.cfg
- commands.d/
Mám tendenci vytvářet adresář pro každý typ zdroje (příkazy, skupiny kontaktů, kontakty, eskalace, skupiny hostitelů, hostitelé, skupiny služeb, časová období) s výjimkou služeb, které jsou seskupeny s hostiteli nebo skupinami hostitelů, které je používají.
Přesná struktura se může lišit podle vašich organizačních potřeb. V minulé práci jsem používal podadresáře pod hosts.d
pro každý jiný web. V mé současné práci většinu definic hostitelů Nagios spravuje Puppet, takže existuje jeden adresář pro hostitele spravované loutkou a samostatný pro ručně spravované hostitele.
Všimněte si, že výše uvedené také rozděluje příkazy do více souborů, obecně podle protokolu. Tedy nrpe.cfg
soubor by měl příkazy check_nrpe
a check_nrpe_1arg
, zatímco http.cfg
může mít check_http
, check_http_port
, check_https
, check_https_port
a check_https_cert
.
Obvykle nemám obrovské množství šablon, takže obvykle mám jen hosts.d/templates.cfg
soubor a services.d/templates.cfg
soubor. Pokud je používáte intenzivněji, mohou přejít do vhodně pojmenovaných souborů v templates.d
adresář.
Rád bych měl také check_http_blindly
příkaz, což je v podstatě check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.
; vrátí OK, i když dostane kód odpovědi 403.
Široké využití služeb a hostitelských skupin a šablon. Vytvořte hostitelské skupiny a přiřaďte služby hostitelským skupinám. Použijte skupiny služeb pro závislosti, eskalace a logické seskupování ve webovém uživatelském rozhraní.
Pokud máte skupiny pro všechno, přidání nového hostitele je pouze 3 nebo 4 řádky:název, adresa, šablony a (volitelně) skupiny hostitelů. Vše lze šablonovat.
Nezapomeňte si přečíst dokumenty o dědictví a také stránku s triky, které šetří čas. Vícenásobná dědičnost může být ošemetná, ale při správném použití je to obrovská úspora času.