Blog (105)
Komentarze (521)
Recenzje (0)

Zdalne logi - rsyslog

Strona główna@deeponeZdalne logi - rsyslog
13.06.2013 14:58

Od długiego czasu zbierałem się za przesyłanie logów do zdalnego systemu. Nie wiem dlaczego tak to odwlekałem biorąc pod uwagę że całość zajęła około 30 minut wraz z przejrzeniem dokumentacji.

Jaki to ma cel?

Dla tych co nie wiedzą o co chodzi to już wyjaśniam. Różne urządzenia posiadają opcje podglądu logów i przechowują "jakąś" ilość tych danych lokalnie. Dane te często możemy wyświetlić np w routerach jednak nie zawsze jest tam wystarczająca ilość informacji oraz dodatkowo dochodzi problem, że routery posiadają bardzo małą przestrzeń dyskową.

bEpEdegT

Mając takie dane możemy spokojnie w przyszłości przeglądać informacje co się działo na routerze lub innych urządzeniu które obsługuje przesyłanie logów oraz analizować problemy z konfiguracją.

Instalacja

Wykorzystałem do tego celu Debiana (którego już miałem zainstalowanego w innym celu) i na jego przykładzie opiszę całość, jednak dużo nie różni się to na innych dystrybucjach. Debian domyślnie ma zainstalowanego rsyslog jednak gdyby go nie było to instalujemy go w następujący sposób:

[code=]apt-get install rsyslog[/code]

bEpEdegZ

Możemy jeszcze pobrać dokumentacje:

[code=]apt-get install rsyslog-doc[/code]

Konfiguracja

Plik konfiguracyjny znajdziemy w /etc/rsyslog.conf.

bEpEdeha

W moim przypadku w konfiguracji następujące rzeczy włączyłem:

[code=]$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad imudp # provides UDP syslog reception $UDPServerRun 514 $ModLoad imtcp # provides TCP syslog reception and GSS-API (if compiled to support it) $InputTCPServerRun 514[/code]

Po powyższym kodzie można zauważyć, że zostało uruchomione logowanie lokalne, odbiór logów po UDP i TCP na porcie 514 (domyślny).

Pozostało jeszcze do ustawienia informacja gdzie zapisywać dane z routera/firwalla:

bEpEdehb

[code=]if $fromhost-ip startswith '192.168.1.1' then /var/log/router-main.log[/code]

Wynika z tego, że dane z adresu 192.168.1.1 będą zapisywane do pliku router-main.log.

Po całej operacji jedynie pozostanie przeładowanie konfiguracji poleceniem service rsyslog reload.

Konfiguracja po stronie firewalla/routera

W moim przypadku konfigurowałem urządzenie D-Link DFL-1660.

bEpEdehc

W menu System > Log and Event Receivers stworzyłem nową pozycję i wpisałem adres IP i port serwera rsyslog.

105189
105190

Tyle w kwestii konfiguracji, od teraz wszystkie logi będą wysyłane na wskazany serwer.

Podsumowanie

To co tutaj opisałem jest generalnie bardzo malutkim kawałkiem możliwości. Dane do pliku z logiem można zapisywać na bazie szablonów i wzorców czyli dla różnych informacji możemy generować różne pliki o odpowiednich nazwach. Jeszcze jedna mała uwaga, że w przypadku gdy zamiast rsyslogd pracował syslogd trzeba będzie wyłączyć syslogd.

bEpEdehP