rsyslog conf-Dateisyntax mehrere Filter

rsyslog conf-Dateisyntax mehrere Filter

Ich richte rsyslog auf einem Red Hat 8-System ein. Der erste Teil funktioniert bei mir. Er filtert basierend auf der Quell-IP und schreibt Protokolle in eine bestimmte Datei, wie diese:

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& ~ 

Was ich tun möchte, wofür ich aber nicht die richtige Syntax herausfinden kann, ist zu prüfen, obHost-IPund dasAuthprivEinrichtung und schreiben Sie es in eine Datei.

Ich weiß, dass ich diese Anweisung vor der oben aufgeführten brauche, aber ich bekomme sie nicht zum Laufen. Ich habe auch die local7(Boot-Protokolle) ausprobiert und das hat auch nicht funktioniert. Die nächsten beiden Beispiele sind Syntaxen, die ich ausprobiert habe und die nicht funktioniert haben:

Beispiel 1:

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'local7' then /var/log/test_boot.log
& stop

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'local10' then /var/log/test_secure.log
& stop

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& stop 

Beispiel 2:

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'authpriv.*' then /var/log/test_secure.log
& stop

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& stop 

Antwort1

Lösung hier gefunden: rsyslog-Konfigurationssyntax

if $fromhost-ip startswith '10.1.2.45' then { 

    authpriv.*  -/var/log/test_secure.log
                -/var/log/test_all.log
    & stop
}

verwandte Informationen