Soubory protokolu jsou soubory, které uchovávají informace o aktivitách systému, jako jsou pokusy o autorizaci a přístup, pokusy o spuštění a vypnutí, spouštění a vypínání služby atd. Existují různé soubory protokolu pro různé typy činností. Soubory protokolů usnadňují odstraňování problémů a sledování systémových aktivit. Rsyslog je program s otevřeným zdrojovým kódem pro OS Linux, který lze nakonfigurovat jako protokolovací server i jako klienta.
V dnešním průvodci nastavíme server Rsyslog na OS Ubuntu. Budeme používat dva stroje Ubuntu. Na jednom počítači Ubuntu nakonfigurujeme Rsyslog jako protokolovací server a na druhém počítači; nakonfigurujeme Rsyslog jako klienta, který bude odesílat protokoly na server Rsyslog.
Konfigurace serveru Rsyslog na Ubuntu
Nakonfigurujeme Rsyslog na jednom z našich strojů Ubuntu, který chceme použít jako protokolovací server. Rsyslog je předinstalovaný na serveru Ubuntu. Pokud však z nějakého důvodu chybí, můžete jej nainstalovat spuštěním tohoto příkazu:
$ sudo apt install rsyslog
Během instalace se zobrazí výzva s y/n možnost pokračovat v instalaci Rsyslog. Stiskněte y a poté Enter pokračovat.
Chcete-li ověřit instalaci Rsyslog a zobrazit stav jeho služby, spusťte příkaz níže:
$ sudo systemctl status rsyslog
Pokud je služba spuštěna a běží, uvidíte výstup, jak je znázorněno na následujícím snímku obrazovky.
Nyní, když je Rsyslog nainstalován a spuštěn, nakonfigurujeme jej jako protokolovací server.
Upravte konfigurační soubor Rsyslog etc/rsyslog.conf:
$ sudo nano /etc/rsyslog.conf
Přidejte do konfiguračního souboru Rsyslog následující řádky:
# Receive syslog over UDP module(load="imudp") input(type="imudp" port="514") # Receive syslog over TCP module(load="imtcp") input(type="imtcp" port="514")
Níže je snímek obrazovky, jak by měla vypadat konfigurace protokolovacího serveru Rsyslog:
Poté vytvoříme šablonu, kterou bude Rsyslog používat pro ukládání příchozích syslog zpráv. Chcete-li tak učinit, přidejte níže uvedené řádky do konfiguračního souboru Rsyslog před sekcí GLOBAL DIRECTIVES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Poté uložte a zavřete konfigurační soubor.
Nyní spusťte níže uvedený příkaz a restartujte službu Rsyslog:
$ sudo systemctl restart rsyslog
Můžete také ověřit, zda Rsyslog naslouchá TCP/UDP portu 514 pomocí příkazu níže:
$ sudo ss -tunlp | grep 514
Měli byste obdržet následující výstup:
Konfigurace brány firewall
Pokud má váš systém povolenou bránu firewall, budete muset otevřít port TCP/UDP 514. Tento port používá server Rsyslog pro příjem protokolů ze vzdáleného klienta. Spuštěním těchto příkazů otevřete port TCP/UDP 514 v bráně firewall Ubuntu.
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Poté znovu načtěte firewall:
$ sudo ufw reload
Konfigurace klienta Rsyslog na Ubuntu
Nyní na druhém systému Ubuntu provedeme konfiguraci pro klienta Rsyslog. Tento klient poté odešle své protokoly na protokolovací server Rsyslog.
Na počítači ubuntu, který chcete nakonfigurovat jako klienta Rsyslog, nejprve nainstalujte Rsyslog (pokud již není nainstalován):
$ sudo apt install rsyslog
Poté upravte konfigurační soubor Rsyslog pomocí tohoto příkazu:
$ sudo nano /etc/rsyslog.conf
Na konec konfiguračního souboru Rsyslog přidejte níže uvedené řádky. Nezapomeňte vyměnit 192.168.72.204 s IP adresou vašeho logovacího serveru Rsyslog.
#Send system logs to rsyslog server over RDP *.* @192.168.72.204:514 #Send system logs to rsyslog server over TCP *.* @@192.168.72.204:514 ##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Níže je snímek obrazovky, jak by měla vypadat konfigurace klienta Rsyslog:
Uložte a zavřete konfigurační soubor Rsyslog.
Nyní spusťte níže uvedený příkaz a restartujte službu Rsyslog:
$ sudo systemctl restart rsyslog
Zobrazení souborů protokolu klienta na serveru Rsyslog
Jakmile budete hotovi se všemi výše popsanými konfiguracemi, můžete si prohlédnout soubory protokolu zaslané klienty na server Rsyslog. Na vašem počítači se serverem Rsyslog spusťte níže uvedený příkaz v Terminálu:
$ ls /var/log/
Ve výstupu výše uvedeného příkazu uvidíte adresář pojmenovaný stejně jako název hostitele vašeho klientského systému (v našem příkladu ubuntu2).
Chcete-li zobrazit soubory protokolu klientského počítače, vypište obsah tohoto adresáře:
$ sudo ls /var/log/ubuntu2
To je vše, co k tomu patří! V této příručce jsme se zabývali tím, jak nakonfigurovat Rsyslog na Ubuntu OS jako protokolovací server i jako klienta pro odesílání protokolů na server Rsyslog. Také jsme se zabývali tím, jak zobrazit protokoly odesílané klienty na protokolovací server.