Sintaxis del archivo de configuración rsyslog múltiples filtros

Sintaxis del archivo de configuración rsyslog múltiples filtros

Estoy configurando rsyslog en un sistema Red Hat 8. Tengo la primera parte funcionando, que filtra según la IP de origen y escribe registros en un archivo específico, como este:

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

Lo que me gustaría hacer, para lo cual no puedo encontrar la sintaxis correcta, es verificar laIP del hosty elauthprivinstalación y escríbalo en un archivo.

Sé que necesito esa declaración antes de la que mencioné anteriormente, pero no puedo hacer que funcione. También probé los local7(registros de arranque) y tampoco funcionó. Los siguientes dos ejemplos son sintaxis que probé y que no funcionaron:

Ejemplo 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 

Ejemplo 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 

Respuesta1

Solución encontrada aquí: sintaxis de configuración de rsyslog

if $fromhost-ip startswith '10.1.2.45' then { 

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

información relacionada