Configurei o haproxy logging via rsyslogd usando as dicas deste artigo , e tudo parece estar funcionando bem. Os arquivos de log recebem as mensagens de log.
No entanto, todas as mensagens de log do haproxy também são exibidas em /var/log/syslog
. Isso significa que quando o servidor entrar no ar, o syslog será bastante inútil, pois será atropelado por mensagens de log haproxy.
Gostaria de filtrar essas mensagens de /var/log/syslog
. Depois de revisar a documentação do rsyslogd, tentei alterar o arquivo /etc/rsyslog.d/50-default.conf
assim:
*.*;auth,authpriv.none;haproxy.none -/var/log/syslog
Eu simplesmente adicionei a ;haproxy.none
peça. Após reiniciar o rsyslogd, ele parou de funcionar completamente até eu reverter minhas alterações.
O que estou fazendo errado?
rsyslogd-2307: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
& stop
vez de& ~
: rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html .O uso de
& ~
foi preterido na v7 do rsyslogd, e você é incentivado a usá-lo& stop
. Você pode ler mais sobre isso nesta seção da página de compatibilidade da v7 .Então, para o HAProxy, algo assim:
Quanto ao funcionamento, o
& stop
comando diz ao rsyslogd para descartar quaisquer mensagens adicionais que correspondam às regras correspondidas anteriormente até este ponto. Para garantir que essa regra seja cumprida desde o início, você pode alterar o nome do arquivo de/etc/rsyslog.d/haproxy.conf
para/etc/rsyslog.d/00-haproxy.conf
.fonte
Ok, eu descobri. É assim que minha
/etc/rsyslog.d/20-haproxy.conf
aparência é:Alterei a linha
50-default.conf
para:E agora parece estar fazendo o que eu quero.
fonte
Existe uma solução melhor para o log haproxy.
/dev/log
De acordo com o manual oficial, o rsyslog precisa ser configurado para ouvir o soquete de rede:
Mas você pode usar apenas soquetes rsyslog para isso:
rsyslog.d / haproxy.conf:
haproxy.cfg:
fonte
Eu prefiro não mexer com a ordem do arquivo, então, em vez disso, adiciono um local0.none ao arquivo . entrada de linha. O Config se parece com:
(Testado no CentOS 7)
Espero que ajude!
fonte