Linuxové noviny | 03-04/2001 | ||
| |||
Existuje řada nástrojů určených k nepřetržitému monitorování dostupnosti důležitých (nejen) síťových služeb. Jedním z takových nástrojů je i utilita mon, na kterou se dnes blíže podíváme. Mon sestává z plánovacího procesu (serveru), který podle konfigurace v určitých intervalech spouští testovací akce. V závislosti na výsledku testů pak v případě potřeby provádí další předem definované akce (např. upozornění prostřednictvím e-mailu) a zapisuje výpadky služeb do logu. Vlastní testy, stejně jako i akce prováděné při výpadku jednotlivých služeb, jsou realizovány samostatnými utilitami (tzv. monitory), které jsou nezávislé na plánovacím procesu monu. Dodejme ještě, že mon je napsán v Perlu a přímo v distribuci monu je řada utilit pro testování běžně používaných služeb. Toto uspořádání je výhodné, protože veškeré pomocné utility lze snadno uzpůsobit "na míru" místním potřebám či přidat nové bez nutnosti zasahovat do vlastního serveru monu. Distribuce monu kromě vlastního plánovacího serveru obsahuje utility moncmd (utilita pro příkazovou řádku, slouží pro ovládání serveru - server je možno restartovat, zapínat či vypínat monitorování skupin nebo jednotlivých strojů, upravovat konfiguraci za běhu apod.) a monshow (slouží k prohlížení stavu monitorovaných služeb; utilita je buď pro použití z příkazové řádky, anebo ji lze použít přes www jako CGI aplikaci). Mezi monitory obsaženými v distribuci monu jsou například monitory služeb SMTP, FTP, TELNET, HTTP, POP-3, IMAP, DNS, LDAP, SQL.
InstalaceMon pracuje s řadou perlovských modulů, které zpravidla nejsou k dispozici v obvyklých instalacích Perlu. Seznam modulů, které jsou zapotřebí, je uveden v souboru INSTALL; k dispozici jsou na kterémkoliv zrcadle CPANu Kromě toho je zapotřebí instalovat také klientskou část monu, která je rovněž dostupná jako modul na CPANu anebo na domovské stránce monu.
Pokud máme všechny požadované moduly instalovány, můžeme přikročit k instalaci serveru. Po rozbalení distribuce v podstatě stačí pouze vytvořit konfigurační soubory /etc/mon.cf a /etc/auth.cf (můžeme vyjít z příkladů konfigurací přiložených v distribuci) a přidat záznam do /etc/services (detaily viz soubor INSTALL v distribuci monu). Na závěr zbývá volitelně přeložit některé monitory, které jsou napsány v C (týká se např. monitoru RPC služeb), pokud tyto monitory nehodláme používat, můžeme tento krok přeskočit.
KonfiguraceKonfigurační soubor hledá mon standardně v /etc/mon.cf. Kromě obecných nastavení cest k souborům, metod autentizace uživatelů apod. se zde nachází definice služeb, které jsou monitorovány. Syntaxe konfiguračního souboru je jednoduchá, proto pro ilustraci uvedeme pouze okomentovaný příklad části konfiguračního souboru (Ukázka části konfiguračního souboru mon.cf).
Autentizace uživatelůPokud jde o kontrolu přístupu k monu, mon podporuje tři typy autentizace: přímé použití souboru /etc/passwd, hesla uložená ve zvláštním souboru (formát obdobný jako používá web server apache) a autentizace pomocí PAM. Mon neumí pracovat s hesly ukládanými v souborech /etc/shadow, což ale vzhledem k tomu, že většina distribucí dnes již PAM podporuje nevadí. Seznam akcí, které jsou jednotliví uživatelé oprávněni provádět je uložen odděleně v souboru auth.cf.
Mon neumožňuje omezení přístupu podle jmen strojů či IP adres. Kromě používání autentizace uživatelů je z hlediska zabezpečení určitým řešením zajistit pomocí direktiv serverbind a trapbind, aby se mon navázal pouze na porty rozhraní loopback (127.0.0.1). Flexibilnější a bezpečnější řešení je použití firewallu.
Webové rozhraníPrvní z možností je použít utilitou monshow, viz Ukázka výpisu statusu monu - (příkaz monshow --full), která je součástí distribuce monu. Monshow může být spouštěn buď z příkazové řádky anebo jako CGI aplikace s tím, že vzhled webového rozhraní lze definovat pomocí tzv. náhledů ("views"). Dvěma alternativními nástroji jsou mon.cgi a Minotaure.
![]() Mon.cgi zpřístupňuje veškerou funkčnost monu včetně administrace. Instalace je jednoduchá - v podstatě pouze rozbalíme skript do příslušného adresáře, upravíme a nakonfigurujeme web server. Mon.cgi při komunikaci používá cookies, ve kterých je uloženo uživatelovo heslo zašifrované algoritmem TripleDES, takže v případě, že nepoužijeme https, heslo putuje v nezašifrované podobě mezi klientem a serverem pouze jednou. Na obrázku vidíme mon.cgi v akci.
ZávěremMon je velmi dobře konfigurovatelný nástroj, navíc kromě řady monitorů běžně používaných služeb není problém vytvořit si další monitory podle potřeby. Také existuje diskusní fórum uživatelů monu včetně archívu, kde lze řešit případné problémy. Hledáte-li vhodný nástroj pro monitorování dostupnosti síťových služeb, mon určitě stojí za povšimnutí.![]() |