Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Zdalne logi - rsyslog

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

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:apt-get install rsyslog

Możemy jeszcze pobrać dokumentacje:apt-get install rsyslog-doc

Konfiguracja

Plik konfiguracyjny znajdziemy w /etc/rsyslog.conf.

W moim przypadku w konfiguracji następujące rzeczy włączyłem:$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

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:if $fromhost-ip startswith '192.168.1.1' then /var/log/router-main.log

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.

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

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

linux oprogramowanie inne

Komentarze

0 nowych
Over   9 #1 13.06.2013 13:13

Ciekawie to opisałeś :)

Leszek2204   8 #2 13.06.2013 18:36

ja to czytam już chyba 4 razy i mając internet radiowy to myślę że mi się to nie przyda i nie wiem gdzie to przykleić. ale całość opisu jest super.

  #3 23.03.2014 22:45

Leszek Tobie sie nie przyda ale Twoj dostawca neta pewnie tego uzywa. A jak nie tego to czegokolwiek innego co zbiera logi sieci.