Der rsyslogd-Daemon bietet drei verschiedene Möglichkeiten zum Filtern von rsyslog-Meldungen:
1. Einrichtungs-/prioritätsbasierte Filter
2. Eigenschaftsbasierte Filter
3. Ausdrucksbasierte Filter
Einrichtungs-/prioritätsbasierte Filter
Einrichtungs-/prioritätsbasierte Filter filtern rsyslog-Meldungen basierend auf zwei Bedingungen:
1. Einrichtung
2. Priorität
Einrichtung gibt das Subsystem an, das die Nachricht erzeugt. Beispiele für Einrichtungen sind Mail , Kernel und cron . Priority gibt die Priorität der Nachricht an. Beispiele für Prioritäten sind debug (7) , Warnung (4) , und Warnung (1) .
Ein Einrichtungs-Prioritäts-Paar wird Selektor genannt. Um einen Selektor zu erstellen, verwenden Sie die Syntax:
Facility.Priority
Einrichtung
Einrichtung gibt das Subsystem an, das eine bestimmte rsyslog-Meldung erzeugt, und kann durch eines der folgenden Schlüsselwörter dargestellt werden:
Einrichtung | Subsystem |
---|---|
auth/authpriv | Sicherheits-/Autorisierungsmeldungen |
cron | Crond-Nachrichten |
Daemon | Andere System-Daemons |
kern | Kernel-Meldungen |
lpr | Zeilendrucker-Subsystem |
Mailsystem | |
Neuigkeiten | Netzwerknachrichten-Subsystem |
syslog | Intern von rsyslogd generierte Meldungen |
Benutzer | Nachrichten auf Benutzerebene |
uucp | UUCP-Subsystem |
local0 bis local7 | Lokale Verwendung |
Priorität
Die Priorität kann durch eines dieser Schlüsselwörter dargestellt werden (in aufsteigender Reihenfolge aufgelistet). Alle Nachrichten der angegebenen Priorität und höher werden gemäß der angegebenen Aktion protokolliert.
Priorität | Art der Nachricht |
---|---|
debuggen | Meldungen auf Debug-Ebene |
Informationen | Informationsmeldungen |
Hinweis | Normaler signifikanter Fehlerzustand |
Warnung | Warnbedingungen |
irr | Fehlerbedingungen |
kritisch | Kritische Zustände |
Warnung | Maßnahmen müssen sofort ergriffen werden. |
auftauchen | System ist instabil. |
Beispiele für einrichtungs-/prioritätsbasierte Selektoren
Im Folgenden finden Sie Beispiele für einrichtungs-/prioritätsbasierte Selektoren.
1. So wählen Sie alle E-Mail-Nachrichten mit der Priorität err und höher aus:
mail.err
2. Sonderzeichen können verwendet werden. Verwenden Sie ein Sternchen (*), um alle Einrichtungen oder Prioritäten anzugeben. Um beispielsweise alle Authentifizierungsnachrichten mit beliebiger Priorität auszuwählen:
auth.*
3. Verwenden Sie ein Komma (,), um mehrere Einrichtungen und Prioritäten anzugeben. Um beispielsweise sowohl die uucp- als auch die News-Einrichtungen mit der Priorität Warnung oder höher auszuwählen:
uucp,news.warning
4. Verwenden Sie ein Semikolon (;), um mehrere Selektoren in einer Zeile zu definieren. Beispiel:
*.info;mail.none;auth.none;cron.none
5. Verwenden Sie ein Gleichheitszeichen (=), um eine einzelne Priorität anzugeben. Alle anderen Prioritäten werden ignoriert. Zum Beispiel, um Cron-Meldungen nur mit Notfallpriorität auszuwählen:
cron.=emerg
6. Stellen Sie einer Priorität ein Ausrufezeichen (!) voran, um alle rsyslog-Meldungen außer denen mit der definierten Priorität auszuwählen. Das folgende Beispiel wählt alle Benutzernachrichten aus, außer denen mit der Info- oder Debug-Priorität:
user.!info,!debug
Eigenschaftsbasierte Filter
Filtern Sie rsyslog-Meldungen nach beliebigen Eigenschaften, wie z. B. timegenerated oder msg . Sie können eine Eigenschaft mit einem Wert vergleichen, indem Sie einen von mehreren eigenschaftsbasierten Vergleichsvorgängen verwenden. Vergleichsoperationen beinhalten enthält , gleich , und beginntmit . Das folgende Beispiel filtert nach Nachrichten, die die Zeichenfolge „error“ enthalten “ im Nachrichtentext (msg ):
:msg, contains, “error”
Ausdrucksbasierte Filter
Wählen Sie rsyslog-Meldungen gemäß arithmetischen, booleschen oder Zeichenfolgenoperationen aus, indem Sie eine rsyslog-Skriptsprache verwenden. Das Folgende zeigt die grundlegende Syntax von ausdrucksbasierten Filtern:
if EXPRESSION then ACTION else ACTIONCentOS / RedHat :Leitfaden für Anfänger zur Verwaltung von Protokolldateien
Rsyslog-Aktionen verstehen
Rsyslog-Vorlagen verstehen