Każdy administrator zna problem zapchanej skrzynki mailowej. Nie jest to tak naprawdę zapchana skrzynka przez maile od niezadowolonych klientów. Czasami po powrocie z urlopu nie jesteśmy w stanie się odgrzebać z informacji, które zawiera nasza skrzynka z powodu logów, jakie na nią napływają. Większość z nich to logi systemowe. Jest ich mnóstwo. Logi crona, baz danych, nagios. bacula, firewall’e… Około tysiąca maili na

dzień to norma. Najgorsze jest to, że większość z nich jest nam zupełnie niepotrzebna.  Jak sobie poradzić z niechcianymi logami? Sprawa jest dość prosta, tylko nie każdy zdaje sobie sprawę z istnienia tego świetnego narzędzia. Logwatch jest jednym z potężniejszych analizatorów logów. Dzięki niemu tworzony jest raport dla admina, z informacją, co dzieje się w naszych systemach. Oczywiście, otrzymujemy go na maila, nie musimy przegrzebywać każdego z serwerów osobno, aby uzyskać interesujące nas informacje. Logwatch należy do wyrzutków. Ludzie go niedoceniają, a ma bardzo dużo ciekawych funkcji, które mogą się przydać niejednemu adminowi. Konfiguracja też jest trywialna – wielopoziomowa. W systemie jest kilka ścieżek, w których znajdziemy pliki odpowiedzialne za konfiguracje naszego kombajnu. To, co mamy po instalacji w domyśle, oczywiście wystarczy, aby rozpocząć pracę i przy starcie nie walnie nam błędem, aczkolwiek, jeżeli chcemy, aby nasz Logwatch dał z siebie wszystko będziemy musieli się nieco postarać. Oto ścieżki w jakich go znajdziemy:

  • /usr/share/logwatch/default.conf/logwatch.conf  – główny plik konfiguracyjny, zawiera ustawienia dotyczące raportów, ich formatki oraz ustawienia katalogów, ale nie zmieniamy ich tu;
  • /etc/logwatch/conf/logwatch.conf – plik do zmiany ustawień;
  • /usr/share/logwatch/default.conf/logfiles/ – logi konkretnych aplikacji, usług i serwerów (np.: HTTP, SSH, Samba, apt, itp);
  • /usr/share/logwatch/default.conf/services/ – ustawienia usług, które piszą w tym samym czasie do tego samego pliku (np.: dmesg, messages, boot)
  • /usr/share/logwatch/default.conf/*
  • /usr/share/logwatch/dist.conf/*
  • /etc/logwatch/conf/*

Uruchomienie polecenia logwatch wygeneruje nam raport w zależności od tego, jakie ustawienia w plikach konfiguracyjnych mamy. Zostanie on pokazany w konsoli.

logwatch

Oto część takiego raportu.

Raporty generowane są za pomocą skryptu znajdującego się w cronie.

   /etc/cron.daily/logwatch

Jeszcze trochę i będziemy mogli czytać urocze logi rano przy kawie i ciastach. Jeżeli chcemy rozszerzyć sprawdzanie logów o inne pliki należy utworzyć plik w katalogu:

   /etc/logwatch/conf/logfiles/

i umieścić z nim namiary na konkretne pliki.

   # konfiguracja dla niestandardowych plików
   LogFile = /var/log/somefile.log

Jeżeli na szybko chcemy przetestować zmiany i wysłać logi na maila oczywiście musimy odpalić komendę logwatcha z odpowiednim parametrem. Robimy to oczywiście, jako root, lub z poleceniem sudo:

   logwatch --mailto=user@domain.pl

Teraz raport zostanie wysłany na maila, który zostanie podany z poleceniu. Oczywiście, aby taki mail został wysłany musimy mieć skonfigurowanego Postfixa z SMTP. Aby takiego maila wprowadzić na stałe edytujemy plik:

   /etc/log.d/logwatch.conf

I wprowadzamy tak naszego maila:

   MailTo = user@domain.pl

Owszem, nie są to wszytskie opcje logwatach, ale aby opisać jego wszystkie możliwości trzeba by było trochę więcej czasu. Mam nadzieję, że taki tutorial wystarczy Wam na początek i sprawi, że sięgniecie po to narzędzie i postaracie się je zgłębić już na własną rękę.

Miłego logowania!

Przemek jest mózgiem operacyjnym SpeedTest.pl. Studiował na Politechnice Wrocławskiej elektronikę i telekomunikację. Zarządza projektami IT, relacjami z klientami oraz nadzoruje procesy rozwoju. Prywatnie zaangażowany w rodzinę, wsparcie różnych działalności charytatywnych i projekty ekstremalne.