Questão rsyslog filtrar por tag


Eu gostaria de criar um arquivo de configuração rsyslogd que filtre o syslog para uma tag específica e imprima essa tag em um arquivo específico.

Eu crio um arquivo de regras sob /etc/rsyslog.d

# Log kernel generated UFW log messages to file
:syslogtag, isequal, "ABC" /var/log/ABC.log

# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& ~

O arquivo é criado, mas as mensagens com a tag ABC ainda vão para o syslog Arquivo. Como faço isso corretamente?


4
2017-07-11 08:39


origem


Certifique-se de que o seu /etc/rsyslog.conf contém> $ IncludeConfig /etc/rsyslog.d/* Se não adicioná-lo, sem ele o serviço não lerá a configuração adicionada à pasta /etc/rsyslog.d/. Se isso estiver presente, tente adicionar a regra diretamente ao seu rsyslog.conf Arquivo. - Bruno Pereira
já contém. Acho que tenho um problema com a regra que declarei, e não a não inclusão dela. (o arquivo é criado) - Mellowcandle
É verdade que você está certo sobre isso. - Bruno Pereira


Respostas:


Seu arquivo de regras deve se parecer com:

:syslogtag, isequal, "ABC:" /var/log/ABC.log

O syslogtag contém um : e deve ser incluído em "".

Além disso, o nome do arquivo deve ser 50-default.conf em ordem alfabética (por exemplo 30-ABC.conf).

Note que o arquivo /var/log/ABC.log deve ser gravável pelo usuário 'syslog'.

Fonte: como arquivar mensagens rsyslog por tags.


4
2017-07-11 12:03