Como está, o seu arquivo /etc/rsyslog.d/05-forwarding.conf está encaminhando todas as mensagens que passam pelo pensamento, e não apenas as mensagens do seu arquivo personalizado / home / ubuntu /test.log . Assim, você pode excluir , como você disse, você só quer encaminhar mensagens do seu arquivo personalizado.
Seu arquivo /etc/rsyslog.d/10-custom.conf deve se parecer com:
$ModLoad imfile
$InputFilePollInterval 1
$InputFileName /home/ubuntu/test.log
$InputFileTag testlogs:
$InputFileStateFile testlogs
$InputFileFacility local0
$InputRunFileMonitor
:syslogtag, isequal, "testlogs:" {
:msg, contains, "HELLO" {
local0.* /var/log/testlog_error.log
local0.* @@rsyslogserver.mycompany.com:10514
}
stop
}
Como você pode ver, adicionei o seguinte:
$InputFileFacility local0
Agora, seu arquivo personalizado será monitorado e as mensagens serão gravadas na instalação local0. Mensagens de local0 terão a tag associada a você.
:syslogtag, isequal, "testlogs:"
Esta regra corresponderá apenas a uma mensagem que contenha a tag testlogs :, exatamente as mensagens que você deseja. Assim, todas as outras mensagens irão ignorá-lo e estarem registradas em / var / log / syslog e tudo o mais que estiver em 50-default.conf.
:msg, contains, "HELLO"
Agora, todas as mensagens do seu arquivo que contenham HELLO, serão registradas em /var/log/testlog_error.log e encaminhadas para @@ rsyslogserver.mycompany.com: 10514.
E então, o "stop" irá descartar todas as mensagens do seu arquivo que estão sendo escritas em local0.