Rsyslog je protokolovací program s otevřeným zdrojovým kódem, který používá síť IP k odesílání všech souborů protokolu na centralizovaný server protokolů. Je to vylepšená verze Syslog na Linuxu. Umožňuje správcům systému sledovat všechny servery z jednoho místa.
Rsyslog funguje v modelu klient/server, který přijímá protokoly od vzdálených klientů na portu 514 nebo libovolném nakonfigurovaném vlastním portu přes protokol TCP/UDP. Podporuje také databáze ( MySQL, PostgreSQL ), které se používají k ukládání protokolů.
V této příručce se naučíme, jak nainstalovat a nakonfigurovat Rsyslog na Debianu 10/11
Krok 1:Instalace serveru Rsyslog
Chcete-li začít, nainstalujte balíček Rsyslog z úložiště Debian na váš server. Spustit:
$ sudo apt-get install rsyslog -y
Po dokončení instalace zkontrolujte, zda Rsyslog běží správně, jak je znázorněno:
$ sudo systemctl status rsyslog
Služba Rsyslog je nyní na vašem serveru spuštěna.
Krok 2:Konfigurace serveru Rsyslog
Nyní, když je spuštěn, nakonfigurujte Rsyslog tak, aby běžel jako server na vašem systému Debian. Otevřete konfigurační soubor /etc/rsyslog.conf .
$ sudo vim /etc/rsyslog.conf
Vyhledejte řádky níže a odkomentujte je pro příjem protokolu UDP a TCP od vzdálených klientů.
# provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") # provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514")
Dále musíme určit šablonu, kterou bude démon Rsyslog používat k ukládání příchozích protokolů z klientských systémů. Připojte následující řádky na konec konfiguračního souboru.
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs
Restartujte rsyslog, aby se změny projevily.
$ sudo systemctl restart rsyslog
Rsyslog naslouchá na portu 514. Výchozí port můžete upravit v konfiguračním souboru. Chcete-li ověřit, že démon rsyslog naslouchá na portu 514, spusťte následující příkaz ss.
$ sudo ss -tunlp | grep 514
Krok 3:Konfigurace brány firewall pro rsyslog
Démon rsyslog je nyní nakonfigurován na serveru. Pokud jste za firewallem UFW, povolte port 514, aby server mohl přijímat zprávy protokolu od klientů. Proveďte příkazy:
$ sudo ufw allow 514/tcp $ sudo ufw allow 514/udp
Aby byla použita nová pravidla, restartujte bránu firewall. Spustit:
$ sudo ufw reload
Krok 4:Konfigurace klienta Rsyslog
Dále nakonfigurujte klienta Rsyslog pro odesílání zpráv protokolu na server Rsyslog. Ujistěte se, že je RSyslog správně nainstalován na vašem klientském počítači.
Nejprve otevřete konfigurační soubor
$ sudo nano /etc/rsyslog.conf
Zkopírujte a vložte řádky níže na konec souboru:
#Enable sending system logs over UDP to rsyslog server *.* @rsyslog-server-ip:514 #Enable sending system logs over TCP to rsyslog server *.* @@rsyslog-server-ip:514
Výše uvedená konfigurace nasměruje klienta k odeslání souborů protokolu na server rsyslog pomocí protokolů TCP i UDP. Nahraďte rsyslog-server-ip svou IP adresou serveru.
Pokud dojde k výpadku vzdáleného serveru a potřebujete uchovat své protokoly, můžete nastavit vyrovnávací paměť diskové fronty přidáním níže uvedených řádků do konfiguračního souboru klienta.
##Set disk queue when rsyslog server will be down: $ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Uložte a zavřete soubor. Znovu načtěte službu rsyslog, aby se změny projevily.
$ sudo systemctl restart rsyslog
Krok 5:Zobrazení souborů protokolu klientů
Soubory protokolu Rsyslog jsou uloženy ve složce /var/log/ složku na vašem serveru. Chcete-li zobrazit protokoly klienta, použijte následující příkaz ls:
$ ls /var/log/
Ve výchozím nastavení jsou soubory protokolu klienta uloženy ve složce pojmenované podle názvu hostitele klientského systému. V mém případě má klientský systém název hostitele debian.
Poté spusťte následující příkaz a zobrazte protokoly obsažené v adresáři klienta.
$ sudo ls -l /var/log/debian/
Na svém terminálu si také můžete prohlížet protokoly v reálném čase. Podívejme se na protokoly od uživatele root. Spusťte příkaz:
$ sudo tail -f /var/log/debian/sudo.log
Závěr
Server rsyslog je nyní nakonfigurován v Debianu 11. Nyní můžete nakonfigurovat několik klientů pro odesílání zpráv protokolu na centralizovaný server.