GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit Rsyslog Server na Debian 11 (Bullseye)

Soubory protokolu jsou zásadní při hledání a odstraňování chyb. Jsou to první soubory, které správci systému zkoumají, aby se zúžili na pravděpodobnou příčinu chyby, a tak přišli s řešeními k vyřešení problému. V infrastruktuře s desítkami nebo stovkami serverů a dalších zařízení může být správa souborů protokolu výzvou. A tady přichází na řadu rsyslog.

Rsyslog je opensource protokolovací program, který usnadňuje předávání protokolových souborů na centralizovaný protokolový server v síti IP. Díky centralizovanému protokolování mohou administrátoři snadno udržovat přehled o souborech protokolů více systémů z centrálního místa. V tomto příspěvku vás provedeme instalací a konfigurací serveru Rsyslog na Debianu 11.

Nastavení laboratoře

Abychom demonstrovali, jak lze Rsyslog použít k odesílání souborů protokolu z klientského systému na server Rsyslog, budeme mít jednoduché nastavení laboratoře, jak je znázorněno

  • Server Rsyslog:    Debian 11               IP:192.168.1.151
  • Klient Rsyslog:       Ubuntu 20.04      IP:10.20.0.170

Krok 1)  Nakonfigurujte Rsyslog na serveru

Jak již bylo zmíněno dříve, Rsyslog funguje v modelu klient-server a začneme konfigurací Rsyslog na serveru Debian 11. V Debianu 11 je Rsyslog standardně nainstalován. Pokud z nějakého důvodu Rsyslog není přítomen, můžete jej nainstalovat pomocí příkazu:

$ sudo apt install -y rsyslog

Po instalaci můžete zkontrolovat jeho provozní stav následovně:

$ sudo systemctl status rsyslog

Dále nakonfigurujeme rsyslog tak, aby běžel v režimu serveru. Konfigurační soubor je soubor /etc/rsyslog.conf. Upravte jej tedy pomocí preferovaného textového editoru.

$ sudo vi /etc/rsyslog.conf

Pokračujte a odkomentujte následující řádky, které umožňují příjem syslogu 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")

Poté vložte následující řádky a definujte šablonu, kterou bude démon Rsyslog používat k ukládání příchozích protokolů z klientských systémů.

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs

Soubory protokolu budou používat následující konvenci pojmenování:

  • /%HOSTNAME%/ – Toto je název hostitele klientského systému.
  • /%PROGRAMNAME%/ – Identifikuje klientský program, který vytvořil soubor protokolu.

Chcete-li použít změny, restartujte démona rsyslog.

$ sudo systemctl restart rsyslog

Ve výchozím nastavení rsyslog naslouchá portu 514. Můžete potvrdit, že toto je port, kterému naslouchá démon rsyslog spuštěním příkazu ss.

$ sudo ss -tunlp | grep 514

Krok 2)  Nakonfigurujte pravidla brány firewall pro rsyslog

Démon Rsyslog běží na serveru podle očekávání. Pokud používáte UFW firewall, nezapomeňte povolit port 514, aby byly povoleny příchozí zprávy protokolu.

$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp

Poté znovu načtěte bránu firewall, aby se použilo pravidlo brány firewall následovně.

$ sudo ufw reload

Dalším krokem bude konfigurace klientského systému Ubuntu pro odesílání souborů protokolu na server rsyslog.

Krok 3)  Nakonfigurujte klientský systém rsyslog

Posledním krokem je konfigurace klientského systému pro odesílání souborů protokolu na server rsyslog. Přihlaste se ke klientovi a znovu se ujistěte, že je nainstalován a spuštěn démon rsyslog.

Dále upravte konfigurační soubor rsyslog.

$ sudo vi /etc/rsyslog.conf

Přejděte na úplný konec souboru a přidejte tyto řádky.

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-ip-address:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-ip-address:514

Tyto řádky instruují klienta, aby poslal soubory protokolu přes protokoly UDP i TCP na server rsyslog. Všimněte si, že první řádek má jeden symbol @, který značí UDP, a druhý řádek má dva symboly  @@ označující protokol TCP.

Pokud by došlo k výpadku vzdáleného serveru a vy byste chtěli zachovat své protokoly, můžete nastavit vyrovnávací paměť diskové fronty připojením zobrazených řádků.

##Nastavit diskovou frontu, když bude server rsyslog mimo provoz:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Níže je uveden souhrn všech úprav konfigurace klienta.

Uložte a ukončete soubor. Nyní restartujte službu rsyslog, aby se změny projevily.

$ sudo systemctl restart rsyslog

V tomto okamžiku by měl klientský systém odesílat soubory protokolu na server rsyslog. Vraťme se na server a zjistěte to.

Krok 4)  Zobrazte soubory protokolu klienta

Všechny soubory protokolu (včetně serverů) jsou uloženy v adresáři /var/log/. Chcete-li zobrazit protokoly klienta, spusťte následující příkaz:

$ ls /var/log/

Soubory protokolu klienta budou uloženy do adresáře, který odpovídá názvu hostitele klientského systému, jak je ukázáno níže.

Dále můžete zobrazit soubory protokolu obsažené v hlavním adresáři protokolu.

$ sudo ls -l /var/log/ubuntu-20-04/

Chcete-li zobrazit protokoly v reálném čase, použijte příkaz tail, jak je znázorněno. Zde si prohlížíme protokoly uživatele sudo.

$ sudo tail -f /var/log/ubuntu-20-04/sudo.log

Úspěšně jsme nainstalovali rsyslog a nakonfigurovali jej tak, aby umožňoval odesílání souborů protokolu na server rsyslog z klientského systému. Nyní můžete nakonfigurovat tolik klientských systémů, kolik chcete, aby posílaly protokoly na server rsyslog, abyste dosáhli centralizované struktury správy protokolů.

To je z tohoto příspěvku vše, doufám, že jste našli informace. Sdílejte prosím své dotazy a zpětnou vazbu v sekci komentářů níže.

Přečtěte si také :Jak otáčet a komprimovat soubory protokolu v Linuxu pomocí Logrotate


Debian
  1. Jak nastavit Rsyslog Server na Ubuntu 18.04 LTS

  2. Jak nastavit Rsyslog Server na Debianu 11

  3. Konfigurace serveru Rsyslog na Debian 10 / Debian 11 (Bullseye) - Průvodce krok za krokem?

  1. Jak nastavit vsftpd na Debianu

  2. Jak nastavit FTP server s VSFTPD na Debianu 9

  3. Nastavení serveru Rsyslog na Ubuntu 20.04 – Jak na to?

  1. Jak nastavit Symfony 4 na serveru Debian 9

  2. Jak nastavit server NFS na Debian 9 / Ubuntu 16.04 / LinuxMint 18

  3. Jak nastavit Rsyslog Server na Ubuntu