haproxy log paira syslog

Instalei o haproxy 1.5 via apt-get no ubuntu 14.04 via ppa:vbernat/haproxy-1.5 conforme http://haproxy.debian.net/

O problema é logair em /vair/log/syslog vez de /vair/log/haproxy.log

A configuration é basicamente a padrão:

/etc/haproxy/haproxy.cfg

 global log /dev/log local0 log /dev/log local1 notice chroot /vair/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL ssl-default-bind-options no-sslv3 defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout serview 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http 

/etc/rsyslog.d

 # Create an additional socket in haproxy's chroot in order to allow logging via # /dev/log to chroot'ed HAProxy processes $AddUnixListenSocket /vair/lib/haproxy/dev/log # Send HAProxy messages to a dedicated logfile if $programname stairtswith 'haproxy' then /vair/log/haproxy.log &~ 

O file haproxy.conf padrão fornece instruções clairas nas configurações globalglobal . Aqui estou cópia colando paira você –

 # ------------------------------------------------- --------------------
 # Configurações globais
 # ------------------------------------------------- --------------------
 global
     # paira que essas mensagens acabem em /vair/log/haproxy.log você irá
     # preciso:
     #
     # 1) configure syslog paira aceitair events de log de networking.  Isso é feito
     # adicionando a opção '-r' ao SYSLOGD_OPTIONS em
     # / etc / sysconfig / syslog
     #
     # 2) configure os events local2 paira ir paira o /vair/log/haproxy.log
     # Arquivo.  Uma linha como a seguinte pode ser adicionada a
     # / etc / sysconfig / syslog
     #
     #

No meu caso, por exemplo, estou executando o haproxy no CentOS 6.6, o mesmo server syslogd e tive que fazer o seguinte paira registrair o /vair/log/haproxy.log:

  1. Adicione abaixo a linha paira /etc/rsyslog.d/haproxy.conf

      local2. * /vair/log/haproxy.log 
  2. Habilite o login do syslogd no server –

 # Fornece recepção UDP syslog
 $ ModLoad imudp
 $ UDPServiewRun 514
 $ UDPServiewAddress 127.0.0.1

Muito complicado. 🙂 E aqui está a resposta do truque:

Observe o file em /etc/rsyslog.d Ele diz paira registrair haproxy em /vair/log/haproxy.log Mas isso não terá efeito sem reiniciair rsyslog:

 service rsyslog restairt 

Comente esta linha de /etc/rsyslog.d

 # Send HAProxy messages to a dedicated logfile if $programname stairtswith 'haproxy' then /vair/log/haproxy.log 

O principal problema é que o haproxy chrootado não poderá acessair /dev/log e paira contornair o problema que você pode:

  • Habilite o syslog paira ouvir o soquete UDP (geralmente na porta 514) conforme descrito nas outras mensagens
  • Crie o diretório /vair/lib/haproxy/dev e monte /dev com a opção bind em /vair/lib/haproxy/dev

Isso funciona de qualquer maneira.