Najdeme je v /etc/ , zde se nachází většina konfiguračních souborů v Linuxu. V tomto adresáři hledáme soubor /etc/rsyslog.conf , pokud chceme konfigurační soubory rozdělit do více souborů, musíme jít do adresáře /etc/rsyslog.d/ , v něm můžeme vytvořit jakýkoliv soubor končící na .conf a napsat do něj naši konfiguraci.
/etc/rsyslog.conf
Hlavní konfigurační soubor
/etc/rsyslog.d/*.conf
Adresář, ve kterém můžeme konfiguraci rozdělit na více souborů
rSyslog nám umožnuje posílat logy na jiné servery, aby byly na více místech a v bezpečí .
[Facility].[Severity] [Protokol][IP]:[PORT]
Syntax pro posílání logů na server
Příklady
kern,local0.crit @@192.168.0.223:514
Posílá kernelové a local0 zprávy o severitě critical a výše skrze TCP na server
*.=emerg @192.168.7.245:514
Posíla všechny zprávy o severitě emergency skrze UDP na server
ftp,auth.warning;ftp,auth.=info @@10.246.8.8:514
Posílá zprávy ftp a auth o severitě warning a víše + info skrze TCP na server
*.* @172.16.68.74:514
Posílá všechny zprávy skrze UDP na server
Pro zapnutí serveru musíme vědět pokud potřebujeme UDP nebo TCP spojení. Následně hledáme řádek v /etc/rsyslog.conf na kterém je import s naším vysněným protokolem.
V defaultní konfiguraci se toto nastavení již nachází zakomentované.
module(load="[module]")
Načtení modulu
input(type="[module]" port="[port]")
Poslouchání modulem na daném portu
Příklady
module(load="imudp")
input(type="imudp" port="514")
Nastavení (a zapnutí) UDP serveru na portu 514
UDP input modul IMTCP
module(load="imtcp")
input(type="imtcp" port="514")
Nastavení (a zapnutí) TCP serveru na portu 514
TCP input modul IMTCP
Občas se stane, že náš server nebude dostávat logy. V tomto případě je možné, že nám firewall blokuje komunikaci. Zde je jak povolit komunikaci na CentOS.
sudo firewall-cmd --permanent --add-port=514/tcp
sudo firewall-cmd --reload
Facilities používáme k určování odkud logy přichází, představte si, že máte dvě sítě a jedné dáte jméno local1 a druhé local2 , následně v logu vidíte kritické errory, ale jelikož znáte jméno facility odkud log přišel tak může rychleji najít a vyřešit problém.
Číslo / Jméno
Popis facility
0 / kern
1 / user
2 / mail
3 / daemon
4 / auth
5 / syslog
6 / lpr
7 / news
8 / uucp
9 / cron
10 / security
11 / ftp
12 / ntp
13 / logaudit
14 / logalert
15 / clock
16 / local0
17 / local1
18 / local2
19 / local3
20 / local4
21 / local5
22 / local6
23 / local7
kernel messages
user-level messages
mail system
system daemons
security/authorization messages
messages generated internally by syslogd
line printer subsystem
network news subsystem
UUCP subsystem
clock daemon
security/authorization messages
FTP daemon
NTP subsystem
log audit
log alert
clock daemon (note 2)
local use 0 (local0)
local use 1 (local1)
local use 2 (local2)
local use 3 (local3)
local use 4 (local4)
local use 5 (local5)
local use 6 (local6)
local use 7 (local7)
Severitou určujeme jak vážné logy jsou, třeba dostaneme log se severitou info o tom, že uživatel přečetl soubor a moc nás to nezajíma, pokud však uvidíme log se severitou emerg tak víme, že je něco hodně špatně a musíme to opravit.
Pokud před severitu přidáme = říkáme rSyslogu aby bral pouze tuto severitu, když se = vynechá tak bere tuto severitu a všechny vyšší.
Číslo / Jméno
Popis severity
0 / emerg
1 / alert
2 / crit
3 / error
4 / warning
5 / notice
6 / info
7 / debug
emergency/system is unusable
action must be taken immediately
critical conditions
error conditions
warning conditions
normal but significant condition
informational messages
debug-level messages
Logy lze odesílat buď přes UDP , který je rychlý, ale nespolehlivý protokol a neověřuje, zda data dorazila v pořádku, nebo prostřednictvím TCP , které naopak zajišťuje spolehlivost přenosu díky kontrole doručení a integrity dat.
Protokol
Značka
UDP
TCP
@
@@
Pokud chceme něco filtrovat, potřebujeme udělat podmínky, bez nich bychom se nikam nedostali.
Pro více syntaxe: https://www.rsyslog.com/doc/rainerscript/control_structures.html
Pro názvy proměnných: https://www.rsyslog.com/doc/configuration/properties.html
if $rawmsg contains 'key="user-action' then { ... }
Kontrolujeme pokud je v nezpracované zprávě text 'key="user-action'
if $syslogfacility-text == "local0" then { ... }
Kontrolujeme pokud log přišel z local0 facility
else if $syslogseverity <= '6' then { ... }
Pokud první podmínka nevyšla, kontrolujeme zda je severita menší nebo rovna 6
if not $hostname == "Ubuntu" then { ... }
Kontrolujeme zda hostname není 'Ubuntu'
Název proměnné
Popis
msg
rawmsg
hostname / source
syslogseverity
syslogseverity-text
syslogfacility
syslogfacility-text
syslogtag
Zpráva
Zpráva bez žádného upravení
Hostname zařízení
Severity v číselné podobě
Severity v textové podobě
Facility v číselné podobě
Facility v textové podobě
Tag ze zprávy
Akce nám umožnují manipulovat se zprávou. Můžeme ji třeba zapsat do logu nebo přeposlat dále na jiné servery .
action(type="omfile" file="/var/log/rsyslogs/failed_auth.log")
Ukládáme logy do souboru '/var/log/rsyslogs/failed_auth.log'
module(load="omfwd")
action(type="omfwd" target="192.168.2.5" port="514" protocol="tcp")
Zapneme modul pro forwarding
Přeposíláme logy na další server
Preslova 72/25
Praha 5 - Smíchov
150 21
n17r0 © 2025