Linuxové noviny | 01-02/2001 | ||
| |||
Pravidelná kontrola logů by měla být nedílnou součástí údržby každého systému, i když v praxi tomu tak bohužel mnohdy nebývá. Navíc systémové logy bývají rozsáhlé a nepřehledné, takže prohlížení takových logů řádek po řádku pochopitelně není reálné. Samozřejmě, v UN*Xových systémech máme k dispozici spoustu utilit určených pro práci s textem, které pracují s regulárními výrazy, a pro zkušenějšího administrátora není problém vytvořit krátký skript pro zpracování logů spouštěný třeba přes cron. Na místo psaní vlastních skriptů ovšem můžete také sáhnout po utilitě logcheck. Nejedná se o nic jiného než o krátký skript příkazového interpretu pravidelně spouštěný z cronu, který podle Vámi zadaných klíčových slov prohledá systémový log, zapamatuje si pozici, na které skončil (takže při jeho dalším spuštění z cronu neprohlíží celý logový soubor od začátku) a výsledek pošle prostřednictvím e-mailu určené osobě. Pro zapamatování pozice, na které s analýzou logu skončil logcheck používá utilitu logtail (která informace ukládá v souborech "jméno_log_souboru.offset"). Logcheck kontroluje také i-uzly a velikosti log souborů, takže se může vyrovnat i s rotací logů, pokud spouštění logcheck s rotací logů synchronizujeme. Filtrování logu probíhá následovně: nejprve jsou v logu vyhledány záznamy obsahující klíčová slova z předem definovaných seznamů s cílem vychytat důležitá hlášení, která nás zajímají. Následně je log konfrontován se seznamem klíčových slov charakterizujících obvyklá normální hlášení, která se v logu vyskytují často a nejsou zajímavá; tato hlášení jsou ignorována. Na výstupu je pak zkrácená verze systémového logu obsahující významné události (dle námi zadaných klíčových slov) a dále ostatní neobvyklé události, které nepatří mezi "obvyklé" zprávy určené k odfiltrování (opět dle námi zadaných klíčových slov - což zaručí, že bude odfiltrováno pouze to, o co opravdu nestojíme). Instalace sestává z editace skriptu logcheck.sh, kde nastavíme cesty k seznamům klíčových slov, pracovnímu adresáři, cesty k log souborům, definujeme adresu na kterou chceme výstup posílat atd. (ovšem mějme zde na paměti, že systémový log obsahuje citlivé informace o systému a neměli bychom jej posílat v textové formě přes nedůvěryhodné médium). O zbytek se obstará příkaz make linux - přeloží utilitu logtail a vše potřebné instaluje na určené místo. Na závěr musíme cron nakonfigurovat tak, aby se logcheck spouštěl pravidelně (viz manuálová stránka crontab, crond) - tady je třeba vzít v úvahu rotaci log souborů. Po několika prvních spuštění pak "vyladíme" seznamy klíčových slov tak, aby vyhovovaly našim potřebám. |