Recebi a tarefa de configurar uma retenção de log maior / melhor para nossos servidores postgres, mas depois de configurar postgres para enviar logs para o syslog por meio de local0
, descobri que eles nunca chegaram ao arquivo local configurado.
/etc/rsyslog.d/postgresql.conf
:
local0.* /company/data/psql/company_cluster/log/postgresql.log
Configuração relevante do postgres:
log_destination = 'syslog'
syslog_facility = 'local0'
Uma vez que eu configurei a configuração e recarreguei / reiniciei os serviços, notei que enquanto nada estava indo para o arquivo de log especificado [mesmo depois de touch
it] eu estava vendo mensagens canalizadas para o graylog que tem uma regra *.*
.
Ainda mais estranho é que logger -p local0.info test
ou qualquer outra facilidade não gera uma mensagem em qualquer lugar que eu possa encontrar. O mesmo vale para qualquer outro recurso local
, ou mesmo mail.none
.
O Rsyslog parece estar reiniciando corretamente, eu verifiquei duplamente o contexto do selinux no arquivo de configuração, e não consigo encontrar nenhuma informação relevante registrada no próprio rsyslog. O que está acontecendo?
Todas as configurações do rsyslog:
# cat /etc/rsyslog.conf /etc/rsyslog.d/* | grep -v -e '^\s*#' -e '^\s*$'
$ModLoad imuxsock
$ModLoad imjournal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
# graylog.conf
*.* @graylogmaster.rancher.company.ca:8514;RSYSLOG_SyslogProtocol23Format
# listen.conf
$SystemLogSocketName /run/systemd/journal/syslog
# postgresql.conf
local0.* /company/data/psql/company_cluster/log/postgresql.log