![Sintaxis del archivo de configuración rsyslog múltiples filtros](https://rvso.com/image/762152/Sintaxis%20del%20archivo%20de%20configuraci%C3%B3n%20rsyslog%20m%C3%BAltiples%20filtros.png)
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
}