GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit vzdálené přihlášení Rsyslog v systému Linux (Central Log Server)

Každá distribuce Linuxu má nějaký mechanismus protokolování, který zaznamenává všechny systémové aktivity. Před časem jsme poskytli seznam 20 souborů protokolu, které jsou uloženy v adresáři /var/log, které vám mohou pomoci při odstraňování problémů. Tyto protokoly jsou pro správce systému velmi důležité pro účely odstraňování problémů.

Níže jsou uvedeny tři běžné způsoby protokolování zprávy:

  1. Přihlášení na stejný server:Zprávy se zapisují na místní pevný disk/místní databázi
  2. Přihlášení na vzdálený server:Mnoho systémů předává své protokoly přes síť na centrální protokolový server. Na centrálním log serveru se zprávy z různých systémů zapisují na místní pevný disk/databázi.
  3. Protokolování přenosu:Větev 'A' a větev 'B' protokolují zprávy na 2 různých serverech. Tyto servery obratem zaprotokolují zprávu do ‚Centrála‘.


Rsyslog je výchozí protokolovací program na několika distribucích Linuxu včetně systémů založených na Debianu a Red Hatu. Kromě implementace protokolu syslog přidává rsyslog další funkce, jako je filtrování založené na obsahu. Toto také používá TCP pro přenos a poskytuje mnoho konfiguračních možností.

Tento článek vysvětluje, jak implementovat metodu 2 uvedenou výše. tj. Toto vysvětluje, jak nastavit centrální protokolovací server a odesílat protokoly z jednotlivých serverů na centrální protokolovací server.

Toto nastavení vám pomůže analyzovat soubory protokolu všech serverů ve vaší infrastruktuře z centrálního serveru protokolů.

Instalace

Rsyslog přichází jako výchozí protokolovací program v systémech založených na distribuci Debian a Red Hat. Pokud váš systém nemá rsyslog, nainstalujte jej, jak je uvedeno níže, v závislosti na vaší distribuci.

apt-get install rsyslog rsyslog-doc
(or)
yum install rsyslog rsyslog-doc

Konfigurace Rsyslog jsou uloženy v souboru /etc/ryslog.conf a soubory v adresáři /etc/rsyslog.d/.

Struktura konfigurace

Než pochopíte, jak nastavit centrální protokolovací server, je dobré porozumět struktuře konfigurace rsyslog.

Konfigurační soubory Rsyslog jsou strukturovány následujícím způsobem

  1. Moduly
  2. Konfigurační směrnice
  3. Čára pravidla

Moduly

Rsyslog má modulární architekturu. Umožňuje dynamicky přidávat funkce prostřednictvím těchto modulů. Moduly jsou kategorizovány jako:

  • Vstupní moduly – slouží ke shromažďování zpráv z různých zdrojů
  • Výstupní moduly – používají se k zápisu zpráv na různá místa (soubor, soket atd.)
  • Moduly analyzátoru – slouží k analýze obsahu zprávy

Upozorňujeme, že jsou k dispozici i další kategorie modulů. Toto má poskytnout přehled o tom, co moduly umí.

Konfigurační směrnice

Všechny konfigurační direktivy musí být zadány jedna na řádek a musí začínat znakem dolaru ($). Ovlivňuje pravidla.

Čára pravidla

Každý řádek pravidla se skládá ze dvou polí, „pole pro výběr“ a „pole akce“. Pole výběru je rozděleno na dvě části, „vybavení a priority“. Akce určuje, jaká akce musí být provedena pro odpovídající pravidlo.

Ukázková konfigurace

######################
	MODULES
######################

$ModLoad imuxsock
$ModLoad imklog

######################
	Directives
######################
# Set the default permissions for all log files. 

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755

######################
	RULES
######################
mail.info	/var/log/mail.info
mail.warn	/var/log/mail.warn
mail.err	/var/log/mail.err
daemon.*	/var/log/daemon.log

Poznámka:10 příkladů zobrazení obrovských souborů protokolu v systému Linux může být užitečné při manipulaci se soubory protokolu.

Šablony

Šablony jsou velmi důležité funkce poskytované rsyslog. Umožňuje uživateli protokolovat zprávy v požadovaném formátu. Lze jej také použít k vytvoření dynamických názvů souborů pro protokolování zpráv. V případě protokolování databáze se šablony používají k převodu zprávy na správný příkaz SQL.

Vzorová šablona bude vypadat takto:

$template mytemplate “Text-Before %msg% Text-After\n”

Výše uvedená šablona zaznamená zprávu „Toto je ahoj z rsyslog“ jako:

Text-Before This is hello from rsyslog Text-After

Uvidíme, jak použít šablonu pro dynamické generování souborů protokolu.

Centrální protokolovací server

Výše uvedené části by měly poskytnout přehled o rsyslog a jak jej nakonfigurovat. Nyní přejdeme k nastavení centrálního logovacího systému.

Pro naši diskusi budeme mít IP serveru jako „192.168.1.1“ pro centrální log server, kam by měly být předávány všechny logové zprávy od klienta.

Přidejte následující řádky do souboru rsyslog.conf serverů centrálního serveru protokolů (V tomto příkladu byl na server protokolů přidán následující řádek s adresou IP 192.168.1.1):

# provides support for local system logging
$ModLoad imuxsock 

# provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# provides UDP syslog reception. For TCP, load imtcp.
$ModLoad imudp

# For TCP, InputServerRun 514
$UDPServerRun 514

# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be under a separate directory which is formed by the template FILENAME.
*.* ?FILENAME

Po přidání výše uvedených řádků do souboru rsyslog.conf restartujte proces rsyslog. Nyní bude server rsyslog připraven přijímat zprávy.

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

Přidejte následující řádky do souboru rsyslog.conf na jednotlivých klientských počítačích, které by měly odesílat zprávy protokolu na centrální server.

$ModLoad imuxsock

$ModLoad imklog

# Provides UDP forwarding. The IP is the server's IP address
*.* @192.168.1.1:514 

# Provides TCP forwarding. But the current server runs on UDP
# *.* @@192.168.1.1:514

Restartujte proces rsyslog na klientech. Nyní bude centrální server rsyslog (v tomto příkladu 192.168.1.1) přijímat všechny zprávy protokolu od nakonfigurovaných klientů a protokol každého klienta bude umístěn do samostatného adresáře.


Linux
  1. Jak nastavit rsyslog pro centralizovanou správu protokolů

  2. Jak nastavit Rsyslog Server na Ubuntu 18.04 LTS

  3. Jak použít rsyslog k vytvoření serveru pro agregaci protokolů Linux

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

  2. Jak nastavit SSH bez hesla v systému Linux

  3. Zobrazení protokolů na vzdáleném linuxovém serveru

  1. Jak nastavit server centralizovaného protokolování pomocí Rsyslog

  2. Jak nakonfigurovat vzdálené protokolové servery s rsyslog?

  3. Jak nastavit Reverse SSH Tunnel v Linuxu