Segítségkérés rsyslog-al kapcsolatban

Fórumok

Sziasztok!

Vannak ezek a szabályok az rsyslog.conf-ban:

auth,authpriv.*                 -/var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
cron.*                          -/var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

Ezek hatására a megadott logok külön fájlba is bekerülnek. Hogy lehet elérni, hogy ezek a sorok kimaradjanak a /var/log/syslog fájlból?

A másik, hogy szeretném ezen a szerveren fogadni egy másik gép a logjait. Ehhez beállítottam néhány dolgot a szerveren:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

$AllowedSender UDP, 192.168.0.200

$template Incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log".
*.*  ?Incoming-logs
& ~

Az alsó 3 sor hatására a szerver logjait elkezdte bepakolni a "hostname" nevű mappa alá. Azt szeretném, ha csak a másik gépről érkező logok kerülnének oda. A kliens még nem állítottam be.

Hozzászólások

Az első részben a file-ok előtti "-" jelzi elvileg, hogy az ide bekerült logok "kivonódnak" a további feldolgozásból, szóval elvileg működnie kellene.

(de komolyabb log-kezelésre én a helyedben syslog-ng-t raknék fel, az komplexebben konfigurálható)

----------------------------------^v--------------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

Gondoltál már rá, hogy elolvasod a doksit? berírtam a gugliba, hogy rsyslog.conf, kijött a doksi linkje, Ott majdnem a tetején (a rendes doksi ezzel kezdődik, van egy Quick overview of message flow and objects, ami egészen úgy hangzik, mintha kiderülne belőle, hogy hogyan ellenőriz, és valóban, kb a 10 pont már jól leírja, hogy "all rules are always fully evaluated, no matter if a filter matches or not (so we do not stop at the first match). If message processing shall stop, the “discard” action (represented by the tilde character or the stop command) must explicitly be executed. If discard is executed, message processing immediately stops, without evaluating any further rules." magyarul meg kell nézni, hogy adsz hozzá discard optiont.

Első segítség: rsysloggal. Szívesen.

Most nem azert, de van egy rule-od masodiknak, hogy a *.* keruljon be a /var/log/syslog-ba. Mivel sorrol sorra ertekelodik ki az allomanyod, igy erre masodikkent rafutva minden bekerul a /var/log/syslog-ba. Majd jon a tobbi rule is.

Szerintem probald meg a vegere rakni a masodik sort, mondjuk.

A masik esetben au incoming logs is *.* azaz minden ami beesik a socketen es/vagy a /dev/log-ra. En kirpobalnam a "if $fromhost-ip == 192.168.0.200" kitetelt a te esetedben.

Amugy tok jo a dokumentacioja az rsyslog-nak, csak hat el kell olvasni. :D
https://www.rsyslog.com/storing-messages-from-a-remote-system-into-a-sp… - a masodik esetre ugye

Köszönöm!

Lejebb raktam azt a szabályt és sajnos így is bekerül minden a syslog fájlba.

Jönnek a logok a kliensről. Annyi a gond vele, hogy nem tudja feloldani a másik gép nevét és a program nevét:
if $fromhost-ip startswith '192.168.' then /var/log/$hostname/$programname.log
Próbáltam $ helyett % jellel is.

Az rsyslog oldalát néztem, a linkelt leírást pont nem találtam meg. Köszönöm!

MODding | Asztali PC | Személyes weboldalam
'Everybody loves LEDs'

Nekem valami ilyesmi van egy sillabuszban - arra ügyelj, hogy a sorrend nagyon fontos ennél a motyónál (hol töltöd be a konfigból az imudp/imtcp modulokat, hova rakod az egyes szabályokat...):


# Provides UDP syslog reception
$ModLoad imudp
$InputUDPServerBindRuleset remote
$UDPServerAddress 10.0.0.1
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imptcp
$InputPTCPServerBindRuleset remote
$InputPTCPServerListenIP 10.0.0.1
$InputPTCPServerRun 514
$InputPTCPServerListenIP 127.0.0.1
$InputPTCPServerRun 514

# Linux system log handling
$Template MessagesRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/messages"
*.info;mail.none;authpriv.none;cron.none ?MessagesRemoteLog
$Template SecureRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/secure"
authpriv.* ?SecureRemoteLog
$Template MailRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/maillog"
mail.* ?MailRemoteLog
$Template CronRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/cron"
cron.* ?CronRemoteLog
$Template SpoolerRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/spooler"
uucp,news.crit ?SpoolerRemoteLog
$Template BootRemoteLog,"/data/logs/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/boot.log"
local7.* ?BootRemoteLog