Ignorar systemd-journald para enviar mensagens diretamente para o daemon ryslog

0

Como acompanhamento da minha pergunta anterior Impedir que syslogs sejam logado em journalctl , e esta maravilhosa resposta de JdeBP Eu quero saber como faço para ignorar systemd-journald para enviar mensagens syslog diretamente para o daemon rsyslog.

O problema que estou enfrentando é que, como meus aplicativos Python estão sendo gerenciados por systemd , os logs de diário ( journalctl -u ) são inundados com essas mensagens syslog que o aplicativo está gravando.

O script Python que tenho é como abaixo, que abre um contêiner de log local que rsyslogd escuta e aplica a ação de encaminhamento.

#!/usr/bin/env python

import syslog
import sys

syslog.openlog(facility=syslog.LOG_LOCAL0)
syslog.syslog(syslog.LOG_INFO, sys.argv[1])

e meu arquivo de configuração em /etc/rsyslog.d/dbserver.conf ,

# rsyslog v3 config file

#$ModLoad imuxsock.so
#$ModLoad imklog.so

#$template RFC5424Fmt,"<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID%%msg%\n"
$template NewFileFmt,"<%syslogfacility-text%.%syslogpriority%> %TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
template(name="forwardFmt" type="string" string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%")

#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#*.info;local0.none;local7.none;mail.none;authpriv.none;cron.none  /var/log/messages;NewFileFmt
#authpriv.*                                            /var/log/secure
#mail.*                                                /var/log/maillog
#cron.*                                                /var/log/cron
#*.emerg;local1.none                                   *
#uucp,news.crit                                        /var/log/spooler
#local7.*                                              /var/log/boot.log
local0.*                                              /var/log/dbserver.log;NewFileFmt

#if $syslogfacility-text contains 'local0' then {

if $syslogfacility-text contains 'local0' then {
    action(type="omfwd" protocol="tcp" port="514" name="dbserver"
           target="syslog-server" template="forwardFmt"
           queue.type="LinkedList" queue.filename="dbserver"
           queue.SaveOnShutdown="off"
    )
}

Como eu modificaria essa configuração ou a melhor maneira, para ignorar esses syslogs sendo inundados nos logs de diário.

    
por Inian 07.03.2018 / 12:59

0 respostas