Então, configurei o Haproxy para que o registro passasse pelo rsyslog e, por enquanto, fosse despejado em um arquivo.
É definitivamente o log, pois recebo as mensagens "iniciais" na inicialização, mas nenhum pedido de HTTP é registrado. O que há de errado com minha configuração?
haproxy.cfg :
global
log /dev/log local0 debug
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 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
frontend webfront
option forwardfor
stats enable
stats uri /haproxy?statis
stats realm Haproxy\ Auth
stats auth user:password
bind *:80
timeout client 86400000
acl is_discourse hdr_end(host) -i discourse.mydomain.com
use_backend discourse if is_discourse
use_backend webserver if !is_discourse
backend discourse
balance source
option forwardfor
option httpclose
server server1 127.0.0.1:3080 weight 1 maxconn 1024 check inter 10000
backend webserver
balance source
option forwardfor
option httpclose
server server2 127.0.0.1:4080 weight 1 maxconn 1024 check inter 10000
Arquivo de log :
root@kayak:/var/log/haproxy# tail haproxy.log
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webfront started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webfront started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy discourse started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webserver started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy webfront started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy discourse started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy webserver started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy webfront started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy discourse started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy webserver started.
Visitei algumas páginas do servidor da web entre as reinicializações do thsoe e desencadeei alguns erros 404. Por que nada está aparecendo?
Editar: arquivo conf rsyslog.
/etc/rsyslog.d/49-haproxy.conf:
local0.* -/var/log/haproxy_0.log
if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~
Respostas:
Você precisa especificar o log no front-end se realmente deseja que todas as solicitações sejam registradas. Mas geralmente isso é um exagero para o servidor e seu disco ficará cheio rapidamente.
fonte
rsyslog
não esteja configurado corretamente? Haveria uma maneira de dizer?/dev/log
o registro via log de soquete unix não funciona para mim no meu rhel 6.7. você pode tentar com esta conf. haproxy (trabalhando em 81) encaminhar solicitação http para httpd (trabalhando em 80)
/etc/haproxy/haproxy.cfg
e você deve habilitar o módulo rsyslog udp para receber o syslog do haproxy de uma forma simples como esta:
/etc/rsyslog.d/haproxy.conf
faça uma solicitação http para 81 e você obterá alguns logs como este
fonte
Isso pode ser causado pela execução em uma prisão chroot. Você precisará garantir que o rsyslog também esteja criando um soquete dgram dentro da prisão chroot (por exemplo, / var / lib / haproxy / dev / log). Aponte sua diretiva de log para o soquete / dev / log e você deve ser bom.
Passei algumas horas tentando descobrir isso, pois o HAproxy não diria nada de errado, além de não funcionar corretamente.
fonte
Este link explica perfeitamente.
Se você criar manualmente arquivos de log
/log/haproxy-allbutinfo.log
e/log/haproxy-info.log
não se esqueça de alterar o proprietário parasyslog:adm
fonte