Jak skonfigurować klient RSYSLOG do wysyłania dzienników na serwer RSYSLOG w Centos 7

Jak skonfigurować klient RSYSLOG do wysyłania dzienników na serwer RSYSLOG w Centos 7

Zarządzanie dziennikiem jest jednym z najważniejszych elementów infrastruktury sieciowej. Komunikaty dzienników są stale generowane przez liczne oprogramowanie systemowe, takie jak narzędzia, aplikacje, demony, usługi związane z siecią, jądrem, urządzeniami fizycznymi i tak dalej.

Pliki dziennika okazują się przydatne w przypadku rozwiązywania problemów z systemem systemu Linux, monitoruj system i przeglądaj siłę bezpieczeństwa systemu i problemy.

Rsyslog to program rejestrowania open source, który jest najpopularniejszym mechanizmem rejestrowania w ogromnej liczbie dystrybucji Linux. Jest to również domyślna usługa rejestrowania Centos 7 Lub RHEL 7.

Rsyslog Demon w Centos można skonfigurować do uruchamiania jako serwer w celu zbierania komunikatów dziennika z wielu urządzeń sieciowych. Te urządzenia działają jako klienci i są skonfigurowane do przesyłania swoich dzienników na serwer RSYSLOG.

Jednakże Rsyslog Usługa może być również skonfigurowana i uruchamiana w trybie klienta. Ta konfiguracja instruuje demona RSYSLOG do przekazywania komunikatów dziennika do zdalnego serwera RSysLog za pomocą protokołów transportowych TCP lub UDP. Usługa RSYSLOG może być również skonfigurowana do działania jako klient i serwer w tym samym czasie.

W tym samouczku opiszemy, jak skonfigurować Centos/Rhel 7 Demon rsyslog do wysyłania wiadomości dziennika na zdalny serwer RSYSLOG. Ta konfiguracja zapewnia, że ​​przestrzeń dysku maszynowego można zachować do przechowywania innych danych.

Miejsce, w którym prawie wszystkie pliki dziennika są zapisane domyślnie Centos jest /var ścieżka systemowa. Wskazane jest również, aby zawsze tworzyć osobną partycję dla /var katalog, który może być dynamicznie uprawiany, aby nie wyczerpać /(źródło) przegroda.

Jakiś Rsyslog Klient zawsze wysyła wiadomości dziennika w zwykłym tekście, jeśli nie określono inaczej. Nie powinieneś konfigurować klienta RSysLog do przesyłania wiadomości dziennika przez Internet lub sieci, które nie są objęte pełną kontrolą.

Wymagania

  1. Centos 7.3 Procedura instalacji
  2. RHEL 7.3 Procedura instalacji
  3. Skonfiguruj serwer RSYSLOG w Centos/RHEL 7

Krok 1: Sprawdź instalację RSYSLOG

1. Domyślnie demon RSYSLOG jest już zainstalowany i uruchomiony w systemie Centos 7. Aby sprawdzić, czy usługa RSYSLOG jest obecna w systemie, wydaj następujące polecenia.

# rpm -q | grep rsyslog # rsyslogd -v 
Sprawdź instalację RSYSLOG

2. Jeśli pakiet RSYSLOG nie jest zainstalowany w Centos, wykonaj poniższe polecenie, aby zainstalować usługę.

# Yum Instal RsysLog 

Krok 2: Skonfiguruj usługę RSYSLOG jako klienta

3. W celu egzekwowania demona RSYSLOG zainstalowanego na Centos 7 System do działania jako klient dziennika i kieruj wszystkie lokalnie generowane komunikaty dziennika do zdalnego serwera RSYSLOG, zmodyfikuj plik konfiguracyjny RSYSLOG w następujący sposób:

Najpierw otwórz główny plik konfiguracyjny do edycji.

# vi /etc /rsyslog.conf 

Następnie dołącz poniższą linię na końcu pliku, jak pokazano w poniższym fragmencie.

*. * @192.168.10.254: 514 

Na powyższym wierszu zapewnia odpowiednio zastąpienie adresu IP FQDN zdalnego serwera RSysLog. Powyższa linia instruuje demona rsyslog, aby wysyłał wszystkie wiadomości dziennika, niezależnie od obiektu lub nasilenia, do hosta z hostem IP 192.168.10.254 przez 514/UDP Port.

Skonfiguruj klienta RSYSLOG

4. Jeśli zdalny serwer dziennika jest skonfigurowany do słuchania tylko w połączeniach TCP lub chcesz użyć niezawodnego protokołu sieci transportowej, takiego jak TCP, dodaj inny @ znak przed zdalnym hostem, jak pokazano w poniższym przykładzie:

*. * @@ logs.domena.LAN: 514 

Linux Rsyslog pozwala również na niektóre znaki specjalne, takie jak = Lub !, które można prefiksować do poziomów priorytetowych, aby wskazać „Tylko ten priorytet”Dla równego znaku i„nie ten priorytet ani wyższy niż ten".

Niektóre próbki kwalifikatorów poziomu priorytetowego RSYSLOG w Centos 7:

  • Kern.informacje = Dzienniki jądra z priorytetem informacji i wyższym.
  • Kern.= Informacje = Tylko wiadomości jądra z priorytetem informacji.
  • Kern.Informacje; Kern.!błądzić = Tylko wiadomości jądra z informacjami, powiadomieniem i ostrzeżeniem priorytetów.
  • Kern.debugowanie; Kern.!= ostrzeżenie = Wszystkie priorytety jądra oprócz ostrzegawstwa.
  • Kern.* = Wszystkie komunikaty priorytetów jądra.
  • Kern.nic = Nie rejestruj żadnych powiązanych komunikatów obiektu jądra, niezależnie od priorytetu.

Na przykład, zakładając, że chcesz wysłać tylko określone komunikaty o obiekcie do zdalnego serwera dziennika, takie jak wszystkie powiązane wiadomości pocztowe niezależnie od poziomu priorytetu, dodaj poniższy wiersz do pliku konfiguracyjnego RSYSLOG:

Poczta.* @192.168.10.254: 514 

5. Wreszcie, aby zastosować nową konfigurację, usługa RSYSLOG musi zostać ponownie uruchomiona, aby demon mógł odebrać zmiany, uruchamiając poniższe polecenie:

# Systemctl restart rsyslog.praca 

6. Jeśli z niektórych powodów demon rsyslog nie jest włączony w czasie rozruchu, wydaj poniższe polecenie, aby umożliwić system usług w całym systemie:

# SystemCtl Włącz RSYSLOG.praca 

Krok 3: Wyślij dzienniki Apache i Nginx na zdalny serwer dziennika

7. Serwer Apache HTTP można skonfigurować do wysyłania komunikatów dzienników do zdalnego serwera syslog, dodając następujący wiersz do głównego pliku konfiguracyjnego, jak pokazano w poniższym przykładzie.

# vi/etc/httpd/conf/httpd.conf 

Na głównym pliku CONF Apache Dodaj poniższy wiersz.

CustomLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -access.Log | /usr/bin/logger -thttpd -plocal1.Zauważ „„ Połączony 

Wiersz wymusza demona HTTP do zapisywania komunikatów dziennika wewnętrznie do pliku dziennika systemu plików, ale także przetwarzają komunikaty za pośrednictwem rury do logger narzędzia, które wyśle ​​je na odległy serwer syslogowy, oznaczając je jako pochodzącą z Local1 obiekt.

8. Jeśli chcesz również kierować Apache Komunikaty dziennika błędów do zdalnego serwera syslog, dodaj nową regułę jako tę przedstawioną w powyższym przykładzie, ale pamiętaj, aby zastąpić nazwę pliku dziennika HTTPD i poziomu nasilenia pliku dziennika, aby dopasować priorytet błędu, jak pokazano następująco próbka:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -error.Log | /usr/bin/logger -thttpd -plocal1.błądzić'" 

9. Po dodaniu powyższych wierszy musisz ponownie uruchomić demon Apache, aby zastosować zmiany, wydając następujące polecenie:

# Systemctl restart httpd.praca 

10. Od wersji 1.7.1, Nginx Web Server ma możliwości kompilacji w celu bezpośredniego zalogowania swoich wiadomości do zdalnego serwera syslog, dodając następujące wiersze kodu do pliku konfiguracyjnego Nginx.

error_log Syslog: Server = 192.168.1.10: 514, obiekt = local7, tag = nginx, nasilenie = błąd; Access_log Syslog: Server = 192.168.10.254: 514, obiekt = local7, tag = nginx, nasilenie = info main; 

Na IPv6 Serwer, użyj następującego formatu składni, aby połączyć adres IPv6.

Access_log Syslog: Server = [7101: DC7 :: 9]: 514, obiekt = local7, tag = nginx, nasilenie = info; 

11. Na zdalnym serwerze RSysLog musisz dokonać następującej zmiany na plik konfiguracyjny RSYSLOG, aby odbierać dzienniki wysyłane przez Apache Web Server.

Local1.* @Apache_ip_address: 514 

To wszystko! Pomyślnie skonfigurowałeś Rsyslog demon, aby uruchomić w trybie klienta, a także poinstruowałeś Apache http serwer lub Nginx Aby przekazać swoje komunikaty dziennika do zdalnego serwera syslog.

W przypadku awarii systemu powinieneś być w stanie zbadać problem, sprawdzając zawartość plików dziennika, które są przechowywane na zdalnym serwerze syslog.