Puncte:2

Obținerea ca Syslog să se înregistreze atât în ​​fișierul jurnal personalizat, cât și în syslog

drapel cn

În syslog (Raspbian rsyslog swVersion="8.1901.0"),

Încerc să potrivesc / să filtrez un mesaj de sistem care conține un șir specific BOTH to /var/log/syslog (implicit) ȘI la un fișier jurnal personalizat separat, adică: /var/log/nut.log.

Am reușit să realizez prin plasarea următoarelor linii de filtrare /etc/rsyslog.conf:

# Înregistrare NUT: Includeți mesajele USB din momentul înregistrării UPS-ului numai prin USB
:msg,contains,"USB" /var/log/nut.log
& Stop
:msg,contains,"nut-" /var/log/nut.log
& Stop

The & Stop este necesar pentru a opri filtrele odată ce se face o potrivire. Cred că metoda preferată este să plasați acest lucru într-un fișier dedicat, adică: /etc/rsyslog.d/0-nut.conf

Dar, când fac asta, filtrele nu se mai conectează la /var/log/syslog, și conectați-vă exclusiv la /var/log/nut.log... ?

Există o modalitate diferită de a face asta?

Mersi!

meuh avatar
drapel in
Ai nevoie de `& stop`? Aveți mesaje atât cu „USB” cât și cu „nut-” care vor fi înregistrate de două ori?
DJacobson avatar
drapel cn
@meuh Asta a fost într-adevăr problema mea și răspunsul tău de mai jos a fost perfect.
Puncte:0
drapel in

The $IncludeConfig sau include() directivă în rsyslog.conf apare înaintea majorității regulilor standard, inclusiv a celei căreia îi scrie mesaje /var/log/syslog. Dacă adăugați regulile după celelalte reguli din acest fișier, atunci mesajele nuci vor fi fost deja scrise syslog înainte de a fi, de asemenea, potrivit și scris la nuca.log.

Dacă, în schimb, vă puneți regulile într-un fișier separat, mesajul va fi scris în nuca.log, apoi Stop va sări peste regulile ulterioare. Răspunsul este să nu folosești Stop.

Dacă problema este că un mesaj poate conține atât „USB” cât și „nut-”, și astfel să fie scris de două ori la nuca.log, atunci trebuie să utilizați o sintaxă mai sofisticată.

Sintaxa moștenită a fost înlocuită cu RainerScript acum mult timp. Înseamnă că puteți scrie filtre precum:

if ($msg conține „USB” sau $msg conține „nut-”) atunci {
   action(type="omfile" file="/var/log/nut.log")
}

Acest lucru nu trebuie să împiedice procesarea ulterioară a mesajului.

DJacobson avatar
drapel cn
Mulțumesc. Am învățat multe despre ordinea procesării Rsyslog în răspunsul tău concis. Într-adevăr, încercam să evit mesajele de jurnal duplicate.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.