Rsyslog je bezplatný nástroj pro protokolování s otevřeným zdrojovým kódem, který ve výchozím nastavení existuje v systému CentOS 8 a RHEL 8 systémů. Poskytuje snadný a efektivní způsob centralizace protokolů z klientských uzlů na jeden centrální server. Centralizace protokolů je výhodná dvěma způsoby. Za prvé, zjednodušuje prohlížení protokolů, protože správce systému může prohlížet všechny protokoly vzdálených serverů z centrálního bodu, aniž by se musel přihlašovat do každého klientského systému a kontrolovat protokoly. To je velmi výhodné, pokud existuje několik serverů, které je třeba monitorovat, a za druhé, v případě, že dojde k havárii vzdáleného klienta, nemusíte se obávat ztráty protokolů, protože všechny protokoly budou uloženy nacentrální rsyslog server . Rsyslog nahradil syslog, který podporoval pouze UDP protokol. Rozšiřuje základní protokol syslog o vynikající funkce, jako je podpora obou UDP a TCP protokoly při přenosu protokolů, rozšířené možnosti filtrování a flexibilní možnosti konfigurace. To znamená, že pojďme prozkoumat, jak nakonfigurovat server Rsyslog v systémech CentOS 8 / RHEL 8.
Předpoklady
K otestování procesu centralizovaného protokolování budeme mít následující nastavení laboratoře:
- Server Rsyslog CentOS 8 Minimální IP adresa:10.128.0.47
- Klientský systém RHEL 8 Minimální IP adresa:10.128.0.48
Na základě výše uvedeného nastavení si ukážeme, jak můžete nastavit server Rsyslog a později nakonfigurovat klientský systém tak, aby zasílal protokoly na server Rsyslog ke sledování.
Začněme!
Konfigurace serveru Rsyslog na CentOS 8
Ve výchozím nastavení je Rsyslog nainstalován na serverech CentOS 8 / RHEL 8. Chcete-li ověřit stav Rsyslog, přihlaste se přes SSH a zadejte příkaz:
$ systemctl status rsyslog
Ukázkový výstup
Pokud rsyslog není z jakéhokoli důvodu přítomen, můžete jej nainstalovat pomocí příkazu:
$ sudo yum install rsyslog
Dále musíte upravit několik nastavení v konfiguračním souboru Rsyslog. Otevřete konfigurační soubor.
$ sudo vim /etc/rsyslog.conf
Procházejte a odkomentujte řádky zobrazené níže, abyste umožnili příjem protokolů prostřednictvím protokolu UDP
module(load="imudp") # needs to be done just once input(type="imudp" port="514")
Podobně, pokud chcete povolit příjem TCP rsyslog, odkomentujte řádky:
module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")
Uložte a ukončete konfigurační soubor.
Abychom mohli přijímat protokoly z klientského systému, musíme na bráně firewall otevřít výchozí port 514 Rsyslog. Chcete-li toho dosáhnout, spusťte
# sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
Poté znovu načtěte firewall, aby se změny uložily
# sudo firewall-cmd --reload
Ukázkový výstup
Dále restartujte Rsyslog server
$ sudo systemctl restart rsyslog
Chcete-li povolit Rsyslog při spouštění, spusťte příkaz beneath
$ sudo systemctl enable rsyslog
Chcete-li potvrdit, že server Rsyslog naslouchá na portu 514, použijte příkaz netstat takto:
$ sudo netstat -pnltu
Ukázkový výstup
Perfektní! úspěšně jsme nakonfigurovali náš server Rsyslog pro příjem protokolů z klientského systému.
Chcete-li zobrazit zprávy protokolu v reálném čase, spusťte příkaz:
$ tail -f /var/log/messages
Nyní nakonfigurujeme klientský systém.
Konfigurace klientského systému na RHEL 8
Stejně jako server Rsyslog se přihlaste a zkontrolujte, zda je spuštěn démon rsyslog, zadáním příkazu:
$ sudo systemctl status rsyslog
Ukázkový výstup
Dále pokračujte otevřením konfiguračního souboru rsyslog
$ sudo vim /etc/rsyslog.conf
Na konec souboru připojte následující řádek
*.* @10.128.0.47:514 # Use @ for UDP protocol *.* @@10.128.0.47:514 # Use @@ for TCP protocol
Uložte a ukončete konfigurační soubor. Stejně jako u serveru Rsyslog otevřete port 514, což je výchozí port Rsyslog na bráně firewall
$ sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
Poté znovu načtěte firewall, aby se změny uložily
$ sudo firewall-cmd --reload
Dále restartujte službu rsyslog
$ sudo systemctl restart rsyslog
Chcete-li povolit Rsyslog při spouštění, spusťte následující příkaz
$ sudo systemctl enable rsyslog
Testování operace protokolování
Po úspěšném nastavení a konfiguraci serveru Rsyslog a klientského systému je čas ověřit, zda vaše konfigurace funguje tak, jak má.
Na klientském systému zadejte příkaz:
# logger "Hello guys! This is our first log"
Nyní přejděte na server Rsyslog a spusťte příkaz níže, abyste v reálném čase zkontrolovali zprávy protokolů
# tail -f /var/log/messages
Výstup z příkazu spuštěného na klientském systému by se měl zaregistrovat ve zprávách protokolu serveru Rsyslog, aby bylo možné naznačit, že server Rsyslog nyní přijímá protokoly z klientského systému.
A je to, chlapi! Úspěšně jsme nastavili server Rsyslog pro příjem zpráv protokolu z klientského systému.
Přečtěte si také:Jak otáčet a komprimovat soubory protokolu v Linuxu pomocí Logrotate
Přečtěte si také:Jak nainstalovat Redis Server na CentOS 8 / RHEL 8