GNU/Linux >> Znalost Linux >  >> Cent OS

Jak exportovat protokoly serverů pomocí Rsyslog v Centos 8

V tomto příspěvku se dozvíte, jak exportovat protokoly serverů pomocí Rsyslog v Centos 8

V tomto článku si projdeme nastavením démona Rsyslog CentOS/RHEL 8 pro doručování zpráv protokolu na vzdálený server Rsyslog. Tato konfigurace zajišťuje, že místo na disku na vašem počítači bude dostupné pro jiné účely.

V CentOS 8 je již démon Rsyslog nainstalován a funguje ve výchozím nastavení. Chcete-li zjistit, zda je v systému aktivní služba rsyslog, zadejte následující příkazy.

# grep rsyslog | rpm –q 
# rsyslogd –v 

Pokud na vašem systému CentOS není nainstalován balíček Rsyslog, nainstalujte jej spuštěním příkazu níže.

# yum install rsyslog

Exportujte protokoly serverů pomocí Rsyslog

Upravte konfigurační soubor rsyslog následovně, abyste přinutili démona Rsyslog nainstalovaného v systému CentOS 8 fungovat jako klient protokolu a odesílat všechny lokálně generované zprávy protokolu na vzdálený server Rsyslog:

Chcete-li začít se změnami, otevřete hlavní konfigurační soubor:

# vim /etc/rsyslog.conf

Poté, jak je znázorněno na úryvku níže, připojte na konec souboru následující řádek.

# *. *  @192.168.1.59:514

Ujistěte se, že IP adresa a FQDN vzdáleného serveru rsyslog jsou ve výše uvedeném řádku správně nahrazeny. Předchozí řádek říká démonu Rsyslog, aby posílal všechny zprávy protokolu na IP 192.168.1.59 přes port 514/UDP, bez ohledu na zařízení nebo závažnost.

Přidejte další znak @ před vzdáleného hostitele, pokud je vzdálený server protokolu nakonfigurován tak, aby přijímal pouze připojení TCP nebo pokud chcete používat spolehlivý protokol transportní sítě, jako je TCP, jak je znázorněno v příkladu níže:

# *. *  @@logs.domain.lan:514

Speciální znaky, jako je =nebo!, mohou být předřazeny úrovním priority v Linuxu rsyslog, aby signalizovaly „pouze tato priorita“ pro rovnítko a „ne tuto prioritu nebo vyšší než toto“ pro!

Níže jsou uvedeny některé příklady kvalifikátorů úrovně priority Rsyslog:

kern.info =Protokoly jádra s prioritou informací nebo vyšší.
kern.=info =Jsou povoleny pouze zprávy jádra s prioritou informace.
kern.info;kern.!err =Jsou povoleny pouze zprávy jádra s informacemi o prioritách, upozorněním a varováním.
kern.debug;kern.!=warning =Kromě varování jsou priority všech jader stejné.
kern.* =Všechny zprávy s prioritou v jádře
kern.none =Bez ohledu na prioritu nezaznamenávejte žádné související zprávy o zařízení jádra.

Pokud například chcete pouze odeslat podmnožinu zpráv zařízení na vzdálený protokolový server, jako jsou všechny související poštovní zprávy bez ohledu na prioritu, přidejte do konfiguračního souboru rsyslog následující řádek:

# mail.* @192.168.1.59:514

A konečně, aby se aktualizovaná nastavení projevila, je nutné restartovat službu Rsyslog pomocí následujícího příkazu:

# systemctl restart rsyslog.service

Pokud se démon Rsyslog z nějakého důvodu během spouštění neaktivuje, spusťte následující příkaz a povolte službu v celém systému:

# systemctl enable rsyslog.service

Odešlete protokoly webového serveru na vzdálený server protokolů

Přidáním následujícího řádku do hlavního konfiguračního souboru Apache, jak je znázorněno níže, lze server HTTP nakonfigurovat tak, aby přenášel zprávy protokolu na vzdálený server syslog.

# vim /etc/httpd/conf/httpd.conf

Do hlavního conf souboru Apache přidejte níže uvedený řádek.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

Řádek říká démonu HTTP, aby zapisoval zprávy protokolu do souboru protokolu souborového systému, ale také mu říká, aby je poslal na vzdálený server syslog tím, že je označí jako pocházející ze zařízení local1.

Pokud si přejete posílat zprávy chybového protokolu Apache také na vzdálený server syslog, vytvořte nové pravidlo podobné tomu, které je uvedeno výše, ale změňte název souboru protokolu httpd a úroveň závažnosti souboru protokolu tak, aby odpovídaly prioritě chyb. , jak ukazuje následující příklad:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

Po změně výše uvedených řádků budete muset restartovat démona Apache, aby se změny projevily:

# systemctl restart httpd.service

Přidáním následujících řádků kódu do konfiguračního souboru nginx má webový server Nginx vestavěnou schopnost přímo protokolovat své zprávy na vzdálený server syslog od verze 1.7.1.

error_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=info main;/code>

Chcete-li přijímat protokoly odeslané webovým serverem Apache, proveďte následující změny v konfiguračním souboru rsyslog na vzdáleném serveru Rsyslog.

local1.* @Apache_IP_address:514

Tím naše diskuse končí. Úspěšně jste nastavili démona Rsyslog tak, aby běžel v klientském režimu, a také jste nařídili Apache nebo Nginx směrovat zprávy protokolu na vzdálený server syslog.

Pokud se váš systém porouchá, měli byste být schopni zjistit, co se pokazilo, když se podíváte na obsah souborů protokolu uložených na vzdáleném serveru syslog.

Nyní víte, jak exportovat protokoly serverů pomocí Rsyslog.

Podívejte se na naši domovskou stránku pro další průvodce


Cent OS
  1. Jak nakonfigurovat vzdálené protokolové servery s rsyslog?

  2. Jak nainstalovat lnav na CentOS 7

  3. Jak sledovat využití zdrojů vašeho serveru pomocí Munin na CentOS 6

  1. Jak nastavit soukromé servery DNS s BIND na CentOS 8

  2. Jak na to:Správa systémových protokolů pomocí Journalctl

  3. Jak změnit výchozí adresář protokolu (/var/log) v Rsyslog pro CentOS/RHEL 6,7

  1. Jak nainstalovat CentOS 8 (se snímky obrazovky)

  2. Rsyslog:Jak posílat soubory protokolu na vzdálený server v CentOS/RHEL 6,7

  3. Jak odeslat protokoly auditu na vzdálený server Rsyslog v CentOS/RHEL 6,7