Ako nainštalovať a nakonfigurovať server a klienta Rsyslog na Ubuntu 24.04
Tento návod existuje pre tieto verzie OS
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 18.04 (Bionic Beaver)
Na tejto stránke
- Predpoklady
- Nainštalujte Rsyslog
- Nakonfigurujte server Rsyslog
- Nakonfigurujte klienta Rsyslog
- Zobraziť denník klienta
- Záver
Rsyslog na Ubuntu je výkonný a flexibilný systémový protokolový démon, ktorý sa používa na zhromažďovanie, filtrovanie, ukladanie a posielanie správ protokolu generovaných operačným systémom a aplikáciami. Ide o vylepšenú verziu tradičnej služby syslog, ktorá poskytuje ďalšie funkcie, ako je vysokovýkonné protokolovanie, pokročilé možnosti filtrovania a podpora viacerých protokolov protokolovania vrátane TCP, UDP a RELP (Reliable Event Logging Protocol). Rsyslog dokáže spracovať protokolové správy z rôznych zdrojov a nasmerovať ich na rôzne miesta, ako sú súbory, databázy alebo vzdialené servery. Je široko používaný v centralizovaných protokolovacích systémoch na účely monitorovania, riešenia problémov a auditu. Umožnením podrobnej konfigurácie umožňuje Rsyslog správcom Ubuntu efektívne spravovať systémové protokoly a zaistiť, aby boli dôležité informácie zachytené a bezpečne uložené.
Protokoly sú veľmi užitočné na analýzu a riešenie problémov súvisiacich so systémom Linux a aplikáciami. Štandardne sú všetky protokolové súbory umiestnené v adresári/var/log v operačných systémoch založených na Linuxe. Existuje niekoľko typov protokolových súborov vrátane cronu, jadra, používateľov a zabezpečenia a väčšina týchto súborov je riadená službou Rsyslog.
V tomto návode vysvetlím, ako nakonfigurovať server Rsyslog na serveri Ubuntu 24.04.
Predpoklady
- Dva servery so systémom Ubuntu 24.04.
- Statická adresa IP 192.168.0.101 je nakonfigurovaná na serveri Rsyslog a 192.168.0.102 je nakonfigurovaná na klientskom počítači Rsyslog.
- Na oboch serveroch je nakonfigurované heslo root.
Nainštalujte Rsyslog
Rsyslog môžete nainštalovať spustením nasledujúceho príkazu:
apt install rsyslog -y
Po inštalácii Rsyslog môžete skontrolovať verziu Rsyslog pomocou nasledujúceho príkazu:
rsyslogd -v
Môžete tiež skontrolovať stav Rsyslog pomocou nasledujúceho príkazu:
systemctl status rsyslog
Mali by ste vidieť nasledujúci výstup:
? rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-08-22 04:28:55 UTC; 1min 31s ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 724 (rsyslogd)
Tasks: 4 (limit: 1114)
CGroup: /system.slice/rsyslog.service
??724 /usr/sbin/rsyslogd -n
Aug 22 04:28:53 ubuntu2404 systemd[1]: Starting System Logging Service...
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0]
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's groupid changed to 106
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's userid changed to 102
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Aug 22 04:28:55 ubuntu2404 systemd[1]: Started System Logging Service.
Nakonfigurujte server Rsyslog
Rsyslog je teraz nainštalovaný a spustený. Ďalej ho musíte nakonfigurovať na spustenie v režime servera. Môžete upraviť súbor /etc/rsyslog.conf.
nano /etc/rsyslog.conf
Najprv budete musieť definovať protokol buď UDP alebo TCP, alebo oboje.
Ak chcete súčasne používať pripojenia UDP aj TCP, vyhľadajte a odkomentujte nasledujúce riadky:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
Ďalej definujte konkrétnu podsieť, IP alebo doménu na obmedzenie prístupu, ako je uvedené nižšie:
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com
Ďalej musíte vytvoriť šablónu, ktorá povie serveru Rsyslog, ako ukladať prichádzajúce správy syslog. Nasledujúce riadky pridajte tesne pred sekciu GLOBAL DIRECIVES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Po dokončení uložte a zatvorte súbor. Potom skontrolujte konfiguráciu Rsyslog, či neobsahuje nejakú chybu syntaxe pomocou nasledujúceho príkazu:
rsyslogd -f /etc/rsyslog.conf -N1
Mali by ste vidieť nasledujúci výstup:
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
Nakoniec reštartujte službu Rsyslog pomocou nasledujúceho príkazu:
systemctl restart rsyslog
Teraz skontrolujte, či Rsyslog počúva na TCP/UDP pomocou nasledujúceho príkazu:
netstat -4altunp | grep 514
Mali by ste dostať nasledujúci výstup:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd
Nakonfigurujte klienta Rsyslog
Server Rsyslog je nainštalovaný a nakonfigurovaný na prijímanie protokolov zo vzdialených hostiteľov.
Teraz musíte nakonfigurovať klienta Rsyslog na odosielanie správ syslog na vzdialený server Rsyslog.
Prihláste sa do klientskeho počítača a otvorte konfiguračný súbor Rsyslog, ako je uvedené nižšie:
nano /etc/rsyslog.conf
Na koniec súboru pridajte nasledujúce riadky:
##Enable sending of logs over UDP add the following line:
*.* @192.168.0.101:514
##Enable sending of logs over TCP add the following line:
*.* @@192.168.0.101:514
##Set disk queue when rsyslog server will be down:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Uložte a zatvorte súbor. Potom reštartujte server Rsyslog, aby ste použili zmeny konfigurácie:
systemtcl restart rsyslog
Zobraziť denník klienta
V tomto bode je klient Rsyslog nakonfigurovaný na odosielanie svojho denníka na server Rsyslog.
Prihláste sa na server Rsyslog a skontrolujte adresár /var/log. Mali by ste vidieť záznam s názvom hostiteľa vašich klientskych počítačov vrátane niekoľkých protokolových súborov:
ls /var/log/rsyslog-client/
výstup:
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log
Záver
Vo vyššie uvedenom článku sme sa naučili, ako nainštalovať a nakonfigurovať server Rsyslog na serveri Ubuntu 24.04 a ako nakonfigurovať klienta Rsyslog na odosielanie protokolov na server Rsyslog. Ak máte nejaké otázky, neváhajte sa ma opýtať.