Estou configurando o rsyslog em um sistema Red Hat 8. Tenho a primeira parte funcionando, que filtra com base no IP de origem, e grava logs em um arquivo específico, assim:
if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& ~
O que eu gostaria de fazer, mas não consigo descobrir a sintaxe correta, é verificar ohost IPe aautorprivfacilidade e gravá-lo em um arquivo.
Eu sei que preciso dessa declaração antes da listada acima, mas não consigo fazê-la funcionar. Eu também tentei os local7
(logs de inicialização) e também não funcionou. Os próximos dois exemplos são sintaxes que tentei e que não funcionaram:
Exemplo 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
Exemplo 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
Responder1
Solução encontrada aqui: Sintaxe de configuração do rsyslog
if $fromhost-ip startswith '10.1.2.45' then {
authpriv.* -/var/log/test_secure.log
-/var/log/test_all.log
& stop
}