Skonfigurowałem więc Haproxy, aby rejestrowanie przebiegało przez rsyslog i, na razie, zostało zrzucone do jednego pliku.
To zdecydowanie rejestrowanie, ponieważ dostaję te komunikaty „startowe” przy starcie, ale w ogóle nie rejestruję żądań HTTP. Co jest nie tak z moją konfiguracją?
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
Plik dziennika :
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.
Odwiedziłem niektóre strony serwera między restartami i spowodowałem kilka błędów 404. Dlaczego nic się nie pojawia?
Edycja: plik conf rsyslog.
/etc/rsyslog.d/49-haproxy.conf:
local0.* -/var/log/haproxy_0.log
if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~
Odpowiedzi:
Musisz określić dziennik w interfejsie, jeśli naprawdę chcesz, aby każde żądanie było rejestrowane. Ale zwykle jest to nadmiar dla serwera, a dysk zostanie zapełniony w mgnieniu oka.
źródło
rsyslog
nie jest odpowiednio skonfigurowany? Czy byłby sposób, aby powiedzieć?/dev/log
logowanie przez dziennik gniazd unix nie działa dla mnie na mojej wersji 6.7. możesz spróbować z tym conf. haproxy (działa na 81) przekazuje żądanie http do httpd (działa na 80)
/etc/haproxy/haproxy.cfg
i musisz włączyć moduł uds rsyslog, aby otrzymywać syslog od haproxy, takie proste conf:
/etc/rsyslog.d/haproxy.conf
zrób żądanie http do 81, a otrzymasz logi takie jak ten
źródło
Może to być spowodowane uruchomieniem go w więzieniu chroot. Musisz upewnić się, że rsyslog tworzy również gniazdo dgram w więzieniu chroot (np. / Var / lib / haproxy / dev / log). Skieruj dyrektywę dziennika do gniazda / dev / log, a powinieneś być dobry.
Spędziłem kilka godzin, próbując to rozgryźć, ponieważ HAproxy nie powie ci, że coś jest nie tak, jak nieudane logowanie.
źródło
Ten link wyjaśnia to doskonale.
Jeśli ręcznie tworzysz pliki dziennika
/log/haproxy-allbutinfo.log
i/log/haproxy-info.log
nie zapomnij zmienić właściciela nasyslog:adm
źródło