Jak konfigurować centralny serwer rejestrowania z RSYSLOG w Linux
- 3179
- 759
- Pan Jeremiasz Więcek
Dzienniki są kluczowym elementem dowolnego oprogramowania lub systemu operacyjnego. Dzienniki zwykle rejestrują działania użytkownika, zdarzenia systemowe, aktywność sieciową i wiele więcej, w zależności od tego, do czego są przeznaczone. Jednym z najczęściej używanych systemów rejestrowania w systemach Linux jest Rsyslog.
Rsyslog to potężny, bezpieczny i wysokowydajny system przetwarzania dziennika, który akceptuje dane z różnych rodzajów źródła (systemy/aplikacje) i wysyła je w wiele formatów.
Ewoluował z regularnego Syslog Demon do w pełni funkcjonalnego systemu rejestrowania poziomów przedsiębiorstwa. Został zaprojektowany w modelu klienta/serwera, dlatego można go skonfigurować jako klient i/lub centralny serwer rejestrowania innych serwerów, urządzeń sieciowych i zdalnych.
Środowisko testowe
Do celów tego przewodnika użyjemy następujących hostów:
- serwer: 192.168.241.140
- Klient: 172.31.21.58
Jak zainstalować i skonfigurować serwer RSYSLOG
Większość dystrybucji Linux jest wyposażona w Rsyslog Pakiet wstępnie zainstalowany. W przypadku, gdy nie jest zainstalowany, możesz go zainstalować za pomocą narzędzia Linux Pakiet Manager.
$ sudo yum aktualizacja && yum instaluj rsyslog #Centos 7 $ sudo apt aktualizacja && apt instontuj rsyslog #ubuntu 16.04, 18.04
Raz Rsyslog Zainstalowane, musisz na razie uruchomić Usługę, włączyć ją do automatycznego startowania w rozruchu i sprawdzić jej status za pomocą polecenia SystemCtl.
$ sudo systemctl start rsyslog $ sudo systemctl Włącz rsyslog $ sudo Systemctl Status Rsyslog
Główny plik konfiguracyjny RSYSLOG znajduje się pod adresem /etc/rsyslog.conf, który ładuje moduły, definiuje globalne dyrektywy, zawiera reguły przetwarzania komunikatów dziennika, a także zawiera wszystkie pliki konfiguracyjne w /etc/rsyslog.D/ W przypadku różnych aplikacji/usług.
$ sudo vim /etc /rsyslog.conf
Domyślnie, Rsyslog używa Imjournal I Imusock moduły do importowania strukturalnych komunikatów dziennika z Systemd Journal oraz do akceptowania wiadomości syslog z aplikacji działających odpowiednio w systemie lokalnym za pośrednictwem gniazd unix.
Moduły RSysLog do rejestrowaniaAby skonfigurować RSysLog jako serwer sieci/centralny, musisz ustawić protokół (albo UDP Lub TCP lub obu) będzie używać do zdalnego odbioru syslog, a także do portu, na którym słucha.
Jeśli chcesz użyć UDP Połączenie, które jest szybsze, ale niewiarygodne, przeszukaj i pocukaj poniższe linie (wymień 514 Z portem, który chcesz słuchać, powinno to pasować do adresu portu, do którego klienci wysyłają wiadomości, przyjrzymy się temu podczas konfigurowania klienta RSYSLOG).
$ Modload imudp $ Udpserverrun 514
Używać TCP Połączenie (które jest wolniejsze, ale bardziej niezawodne), przeszukaj i pocukaj poniższe linie.
$ Modload imtcp $ inputTcpServerrun 514
W takim przypadku chcemy jednocześnie używać połączeń UDP, jak i TCP.
Skonfiguruj serwer rejestrowania RSysLogNastępnie musisz zdefiniować zestaw reguł do przetwarzania zdalnych dzienników w następującym formacie.
obiekt.Miejsce docelowe nasilenia (gdzie do przechowywania)
Gdzie:
- obiekt: jest rodzajem komunikatu generowania procesu/aplikacji, obejmują one autoryjne, cron, demon, jądro, local0… lokal7. Za pomocą
*
oznacza wszystkie obiekty. - surowość_level: jest typem dziennika komunikatu: EICT-0, alert-1, crit-2, err-3, ostarowanie-4, zawiadomienie-5, info-6, debug-7. Za pomocą
*
oznacza wszystkie poziomy nasilenia i żaden nie oznacza poziomu nasilenia. - miejsce docelowe: to plik lokalny lub zdalny serwer RSYSLOG (zdefiniowany w formularzu IP: port).
Użyjemy następujących zestaw reguł do zbierania dzienników z zdalnych hostów, za pomocą Remotelogs szablon. Zauważ, że reguły te muszą pojawić się przed jakichkolwiek reguł przetwarzania komunikatów lokalnych, jak pokazano na zrzucie ekranu.
$ szablon REDOTELOGS, "/var/log/%nazwa hosta%/%nazwa programu%.dziennik" *.* ?REDOTELOGS & ~Zdefiniuj zestaw reguł dla Logging Rsyslog
Patrząc na powyższe zestaw reguł, Pierwsza zasada jest „$ Szablon RemoteLogs”/var/log/%nazwa hosta%/%nazwa programu%.dziennik"".
Dyrektywa szablon $ mówi Daonowi Rsyslog, aby zebrał i napisał wszystkie odebrane zdalne wiadomości z odrębnymi dziennikami /var/log, na podstawie Nazwa hosta (Nazwa komputera klienta) i zdalny obiekt klienta (program/aplikacja), które wygenerowały wiadomości określone przez ustawienia obecne w szablonie Remotelogs.
Druga linia „*.* ?Remotelogs ” oznacza komunikaty rejestrujące ze wszystkich obiektów na wszystkich poziomach nasilenia za pomocą Remotelogs Konfiguracja szablonu.
Ostateczna linia „& ~” Instruuje RSYSLOG, aby przestał przetwarzać wiadomości po zapisaniu do pliku. Jeśli nie uwzględnisz „& ~”, Zamiast tego zostaną zapisane w plikach lokalnych.
Istnieje wiele innych szablonów, których można użyć, aby uzyskać więcej informacji, zobacz stronę Man Configuration Man RSysLog (Człowiek rsyslog.conf) lub odnoszą się do dokumentacji online RSYSLOG.
To wszystko w konfiguracji serwera RSysLog. Zapisz i zamknij plik konfiguracyjny. Aby zastosować ostatnie zmiany, ponownie uruchom demon rsyslog za pomocą następującego polecenia.
$ sudo systemctl restart rsyslog
Teraz zweryfikuj gniazda sieciowe RSYSLOG. Użyj polecenie ss (lub netstat z tymi samymi flagami) Polecenie i wypieraj wyjście do GREP, aby odfiltrować połączenia RSYSLOGD.
$ sudo ss -tulnp | GREP „RSYSLOG”Sprawdź status sieci RSYSLOG
Następny Centos 7, Jeśli masz Selinux Włączone, uruchom następujące polecenia, aby umożliwić ruch RSYSLOG na podstawie typu gniazda sieciowego.
$ sudo semanage -a -t syslogd_port_t -p udp 514 $ sudo semanage -a -t syslogd_port_t -p tcp 514
Jeśli system ma zaporę zapory, musisz otworzyć port 514 aby pozwolić obu UDP/TCP Połączenia z serwerem RSYSLOG, uruchamiając.
------------- Na Centos ------------- $ sudo firewall-cmd --Permanent --add-port = 514/Udp $ sudo firewall-cmd --Permanent --add-port = 514/tcp $ sudo firewall-cmd--relad ------------- Na Ubuntu ------------- $ sudo ufw zezwolić 514/udp $ sudo ufw zezwolić 514/tcp $ sudo ufw Reload
Jak skonfigurować klienta RSYSLOG do wysyłania dzienników na serwer RSYSLOG
Teraz w systemie klienta sprawdź, czy usługa RSYSLOG działa, czy nie z następującym poleceniem.
$ sudo Systemctl Status Rsyslog
Jeśli nie jest zainstalowany, zainstaluj i uruchom usługę, jak pokazano wcześniej.
$ sudo yum aktualizacja && yum instaluj rsyslog #Centos 7 $ sudo apt aktualizacja && apt instontuj rsyslog #ubuntu 16.04, 18.04 $ sudo systemctl start rsyslog $ sudo systemctl Włącz rsyslog $ sudo systemCtl Status rsyslog
Po uruchomieniu usługi RSYSLOG otwórz główny plik konfiguracyjny, w którym wykonasz zmiany w konfiguracji domyślnej.
$ sudo vim /etc /rsyslog.conf
Aby zmusić demon RSYSLOG do działania jako klient dziennika i przekazał wszystkie lokalnie generowane komunikaty dziennika do zdalnego serwera RSysLog, dodaj tę regułę przekazywania, na końcu pliku, jak pokazano na poniższym zrzucie ekranu.
*. * @@ 192.168.100.10: 514Skonfiguruj klienta RSYSLOG
Powyższa reguła wyśle wiadomości ze wszystkich obiektów i na wszystkich poziomach nasilenia. Na przykład wysyłanie wiadomości z określonego obiektu Auth, Użyj następującej zasady.
Auth. * @@ 192.168.100.10: 514
Zapisz zmiany i zamknij plik konfiguracyjny. Aby zastosować powyższe ustawienia, ponownie uruchom demon RSYSLOG.
$ sudo systemctl restart rsyslog
Jak monitorować zdalne logowanie na serwerze RSysLog
Ostatnim krokiem jest sprawdzenie, czy RSYSLOG faktycznie odbiera wiadomości od klienta, poniżej /var/log, w formie Nazwa hosta/nazwa programu.dziennik.
Uruchom polecenie LS do długiej listy katalogu dziennika nadrzędnego i sprawdź, czy jest nazywany katalog IP-172.31.21.58 (lub jaka jest nazwa hosta komputera klienta).
$ ls -l/var/log/Sprawdź rejestrowanie klientów RSYSLOG
Jeśli katalog istnieje, sprawdź w nim pliki dziennika, uruchamiając.
$ sudo ls -l/var/log/ip-172-31-21-58/Sprawdź dzienniki klienta RSYSLOG
Streszczenie
Rsyslog to wysokowydajny system przetwarzania dziennika, zaprojektowany w architekturze klienta/serwera. Mamy nadzieję, że możesz zainstalować i skonfigurować Rsyslog jako serwer rejestrowania centralnego/sieciowego i jako klient, jak pokazano w tym przewodniku.
Możesz także zapoznać się z odpowiednimi stronami ręcznymi RSYSLOG, aby uzyskać więcej pomocy. Zapraszam do przekazania nam informacji zwrotnych lub zadawania pytań.
- « Jak utworzyć scentralizowany serwer dziennika z RSYSLOG w Centos/RhEL 7
- FILELIGHT - Szybkie statystyki użytkowania dysku analayze w Linux »