- předchozí článek - následující článek - obsah - úvodní stránka -

Linuxové noviny 01-02/2001

Analýza systémových logů: Logcheck

David Haring, 2. prosince 2000

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. *


- předchozí článek - následující článek - obsah - úvodní stránka -