Wir haben ein auf Beaglebone Black basierendes Custom Board mit WLAN-Chip.
Wir haben folgenden Eintrag imrsyslog.conf
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.* :omfile:$dmesg_log_rotation
dmesglog wird von WLAN-Protokollen überflutet, die mit „ mlan0
So I changed rule as follows“ beginnen:
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.*, !contains, "mlan0" :omfile:$dmesg_log_rotation
Allerdings überfluten diese Protokolle weiterhin das Dmesglog.
Kann mir jemand sagen, was mit diesem Protokoll nicht stimmt?
Irgendwelche anderen Regelvorschläge? Irgendwelche Hinweise?
BEARBEITEN:
Nach einigem Suchen habe ich herausgefunden, dass rsyslogd -N1
man damit das überprüfen kann rsyslog.conf
. Und diese Überprüfung hat einen Fehler aufgezeigt. Ich versuche, die Regel irgendwie zu korrigieren.
BEARBEITEN2
Ich habe die Regel wie folgt geändert, aber jetzt sehe ich nichts mehr im dmesglog
# Redirect all kernel messages including dmesg to /var/log/dmesglog
if ( 'kern.*' contains "mlan0" ) then{ action( type="omfile" file="*" ) } else { action( type="omfile" file="$dmesg_log_rotation" )}
Antwort1
Versuche dies:
# Redirect all kernel messages including dmesg to /var/log/dmesglog
:msg, contains, "mlan0" ~
kern.* :omfile:$dmesg_log_rotation
Entsprechendrsyslogd-DokumentationSie sollten zunächst die ausgewählten Nachrichten verwerfen.
Wenn Sie die gefilterten Nachrichten in einer separaten Datei speichern möchten, können Sie Folgendes schreiben:
# Redirect all "mlan0" to /var/log/mlan.log
:msg, contains, "mlan0" :omfile:/var/log/mlan.log
:msg, contains, "mlan0" ~
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.* :omfile:$dmesg_log_rotation
Leider unterstützt rsyslog keine Filterung genau nach dem Namen des Kernelmoduls, aber Sie können verschiedene Eigenschaften ausprobieren (Nachrichtist nur eine davon), und Sie können die Filterregel genauer angeben, indem Sie Regeln verwenden "beginnt mit", "ist gleich" oder "regulärer Ausdruck". Die vollständige Liste der Eigenschaften und Regeln istHier(siehe unten "Verfügbare Eigenschaften".
Versuchen Sie es also beispielsweise mit:
:programname, startswith, "mlan" :omfile:/var/log/mlan.log
Oder:
:syslogtag, regex, "^mlan[0-9]" :omfile:/var/log/mlan.log
Ich weiß nicht, ob eine Eigenschaft den Kernelmodus enthalten würde. Wie auch immer, Sie können immer filtern nachNachrichtmitregulärer Ausdruck.
:msg, regex, "^write-regex-matching-your-module-log-output" :omfile:/var/log/mlan.log