Przejdź do głównej zawartości

Linux RHCE - syslog - logowanie zdarzeń


Doświadczeni administratorzy dość często przeglądają pliki dzienników systemowych.   Zawierają one ważne podpowiedzi, które mogą wskazać drogę do rozwiązania dokuczliwych problemów związanych z konfiguracją. Jeśli jakiś demon nie chce się uruchomić lub przy uruchomieniu systemu ciągle pojawia się ten sam błąd warto przejrzeć co zapisuje się w dziennikach systemowych. W Uniksie od dawna próbowano korzystać ze zintegrowanego systemu znanego pod nazwą syslog, co miało zapewnić rejestrowanie informacji w jednym miejscu, jednak wszystkie te wysiłki zakończyły się w najlepszym razie tylko częściowym sukcesem. Co prawda demon syslogd nadal uważany jest za króla w zakresie monitorowania informacji o systemie, to istnieje wiele aplikacji, demonów sieciowych , skryptów startowych i innych programów nadzorczych nadal zapisujących informację we własnych plikach dziennika  Samowola ta sprawiła, że zestaw plików dziennika różni się znacznie w poszczególnych dystrybucjach. Ogólnie syslog jest usługą systemową odpowiadającą za logowanie wszystkich zdarzeń jakie miały miejsce w systemie operacyjnym. 


Po zainstalowaniu systemu operacyjnego syslog  jest od razu aktywny i można to stwierdzić poleceniem :

# chkconfig rsyslog --list
rsyslog    0:off   1:off   2:on    3:on    4:on    5:on    6:off

Serwis ten konfigurowany jest w pliku konfiguracyjnym /etc/rsyslog.conf 

Domyślnie wszystkie logi przechowywane są w katalogu /var/log w określonych plikach albo podkatalogach. Można zdefiniować własną lokalizację przechowywania logów co robimy w pliku rsyslog.conf. 

Plik konfiguracyjny podzielony jest na części. Pierwsza z nich to moduły i określa ona jakie moduły syslog mają być uruchamiane. Sam syslog jest usługą modularną co oznacza że mamy możliwość włączania lub nie wybranych modułów. 

Syslog rozróżnia następujące poziomy ważności komunikatów: 
  • emerg - sytuacje bez wyjścia 
  • alert - sytuacje wymagające natychmiastowego działania 
  • crit - warunki krytyczne
  • err - inne błędne warunki
  • warning - komunikaty ostrzegawcze
  • notice - zdarzenia wymagające sprawdzenia
  • info - komunikaty informacyjne
  • debug - tylko dla celów diagnostycznych
  • none 
W większości przypadków rejestrowane zdarzenie zapisywane jest w postaci pojedynczego wiersza tekstu zawierającego datę i czas wystąpienia, rodzaj i poziom ważności zdarzenia oraz wszelkie inne istotne szczegóły. W zależności od konkretnego pliku poszczególne elementy komunikatu mogą być rozdzielone spacjami, tabulatorami lub znakami przestankowymi. 

Pliki logów są zazwyczaj plikami tekstowymi i można je przeglądać i przeszukiwać podstawowymi narzędziami dostępnymi w systemie takimi jak cat, grep, tail i Perl. W większości przypadków nowoczesnych systemów istnieją w nich również narzędzia do zarządzania dziennikami umożliwiające rotowanie, kompresję i monitorowanie plików dziennika co może odbywać się w ustalonych odstępach czasu. 

ZAPIS LOGOWANIA NA SYSTEMIE ZDALNYM 

By zapisywać logi systemowe hosta na innym hoście przez sieć należy zmodyfikować na obu maszynach główny plik konfiguracyjny /etc/rsyslog.conf

Na maszynie mającej przyjmować logi ustawiamy : 

Usuwamy znak komentarza #  : 

# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514

Dodajemy odpowiednią regułę iptables : 

iptables -I INPUT 23 -p udp -m udp --dport 514 -j ACCEPT

Na maszynie mającej wysyłać logi na host zdalny modyfikujemy plik : /etc/resolf.conf w następujący sposób : 

#*.info;mail.none;authpriv.none;cron.none      /var/log/messages
*.info;mail.none;authpriv.none;cron.none       @192.168.56.101

# The authpriv file has restricted access.
#authpriv.*                                    /var/log/secure
authpriv.*                                     @192.168.56.101

# Log all the mail messages in one place.
#mail.*                                      -/var/log/maillog
mail.*                                       @192.168.56.101

Takie ustawienie pozwala maszynie wysyłać logi na host o adresie 192.168.56.101.

Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości