syslog escrevendo para geral em vez de arquivo específico

3

Estou executando o Ubuntu e o Postgresql 9.

Eu permiti que o postgresql registrasse no syslog e incluísse a seguinte diretiva no arquivo de configuração:

 syslog_facility = 'local0'". 

Eu tentei configurar o syslog para registrá-los em um arquivo separado, mas isso foi arquivado. Eu atualizei o /etc/syslog.conf para que ele contenha (veja a última linha para a diretiva postgresql)

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log
mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err
news.crit                       /var/log/news/news.crit
news.err                        /var/log/news/news.err
news.notice                     -/var/log/news/news.notice
*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages
*.emerg                         *
daemon.*;mail.*;\
        news.err;\
        *.=debug;*.=info;\
        *.=notice;*.=warn       |/dev/xconsole
local0.*                -/var/log/pgsql

Eu reiniciei o syslog com "/etc/init.d/sysklogd restart" e com "restart rsyslog".

Quando o postgresql é recarregado, as mensagens são anexadas a / var / log / messages e / var / log / syslog ... e não ao arquivo correto conforme eu configurei o syslog para usar ...

O mesmo funciona bem em outra máquina Debian com a mesma versão do Postgresql ...

alguma ideia?

  • há algo errado com o meu arquivo de configuração do syslog?
  • devo adicionar mais alguma coisa ao meu postgresql.conf?
  • posso verificar se o syslog está realmente usando o arquivo de configuração que eu alterei?
por user410932 13.04.2012 / 15:32

1 resposta

3

Parece que você tem um erro de digitação no arquivo postgresql.conf . Certifique-se de que você é realmente usando

syslog_facility = 'local0'

Além disso, o syslogd antigo requer que as guias difíceis sejam usadas em vez de espaços em seu arquivo de configuração, portanto, certifique-se de não estar usando espaços ou de que seu editor não esteja convertendo guias em espaços (como a opção expandtab no vim).

Você também mencionou o antigo syslogd e rsyslog, então verifique qual deles você está realmente usando. O arquivo de configuração do Rsyslog foi projetado para ser compatível com o syslogd, mas faz usar um arquivo diferente. Então, se você estiver usando o rsylog, adicione sua linha de log ao /etc/rsyslog.conf .

Para evitar que essas mensagens também apareçam em /var/log/messages , você precisará filtrar explicitamente esse recurso. Para fazer isso, modifique sua configuração de mensagens para isso:

*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none;\
    local0.none          -/var/log/messages

Isso se traduz em "Não escreva nenhum nível de severidade do local0 para este arquivo." Ou, com efeito, exclua qualquer coisa local0.* .

    
por 13.04.2012 / 16:05