Jednoduchý performance monitor I.

Snad každý administrátor, který spravuje více serverů, se dostane do situace, kdy by rád sledoval na jednom místě alespoň základní parametry svěřených systémů. Samozřejmě jsou na trhu profesionální dohledové systémy, které dokáží i plno jiných věcí. Jejich cena ovšem často překračuje cenu serveru. Jak je nahradit jednouchou free variantou?


Předně je třeba poznamenat, že existují i free dohledové systémy, ale na všech mi vadila nutnost něco na dohlížené servery intalovat. Na produkčních serverch, kde běží business critical aplikace, to nemusí být uplně triviální záležitost. V některých případech to může být i nemožné – např. aplikace serveru vyžaduje jinou verzi perlu (grepu, sedu, apod) než dohled, podle smlouvy nelze na server nic instalovat, atd.

Proto jsem se rozhodl vytvořit základní dohledový nástroj, který bude fungovat pouze se základními přikazy systému a bude fungovat na všemožných unixových systémech (Solarix, HP-UX, Linux …)

Využil jsem nativní vlastnosti všech unix-like systémů – totiž schopnost odesílat a přijímat syslogové zprávy. Tyto zprávy jsou posílány z jednoho systému na druhý UDP protokolem na port 514, takže i informace z DMZ se jednoduchým pravidlem na FW dostanou k cíli.

Jako dohledový server, který sbírá a zpracovává syslog zprávy, jsem použil Linuxový stroj. Linuxový syslog daemon je třeba spouštět s parametrem, který umožňuje zpracovávat i systémové zprávy přicházející z jiných systémů po síti – /usr/sbin/syslogd -r. Ještě je třeba upravit configuraci syslogu, aby zprávy zapisoval do samostatného souboru. Do /etc/syslog.conf jsem přidal:

local3.debug         /var/log/perf.log

Pro posílání performace zpráv jsem použil local3 facility. Je vhodné říci syslogu, aby local3 facility nezapisoval do ostatních logovacích souborů jako /var/log/messages nebo /var/log/syslog. To provedeme přidáním local3.none do řádku v /etc/syslog.conf u těch logovacích souborů, kde nám to překáží. Například:

# Log anything 'info' or higher, but lower than 'warn'.
# Exclude authpriv, cron, mail, news and local3.  
#                               These are logged elsewhere.
*.info;*.!warn;
        authpriv.none;cron.none;
        mail.none;news.none;
        local3.none                        -/var/log/messages

Nesmíme zapomenout na to, že v /etc/syslog.conf je třeba používat tabulátory a nikoliv mezery!! – viz. podrobný článek o syslog.conf
A nakonec syslogd restartujeme. Upozorňuji, že nestačí pouze kill -HUP. Nová konfigurace by se sice načetla, ale soubor /var/log/perf.log by se nevytvořil.

Tak, zprávy local3 už na serveru směřují do správného souboru, v příštím článku si ukážeme, jak posílat zprávy z jednotlivých stanic.

Leave a Reply

Your email address will not be published. Required fields are marked *