Итак, я настроил Haproxy таким образом, чтобы регистрация проходила через rsyslog и, на данный момент, была сохранена в одном файле.
Это определенно ведение журнала, так как я получаю эти «стартовые» сообщения при запуске, но HTTP-запросы вообще не регистрируются. Что не так с моей конфигурацией?
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
Файл журнала :
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.
Я заходил на некоторые страницы веб-сервера между этими перезагрузками и вызвал несколько 404 ошибок. Почему ничего не появляется?
Редактировать: rsyslog conf файл.
/etc/rsyslog.d/49-haproxy.conf:
local0.* -/var/log/haproxy_0.log
if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~
Ответы:
Вы должны указать журнал во внешнем интерфейсе, если вы действительно хотите, чтобы каждый запрос регистрировался. Но обычно это перебор для сервера, и ваш диск будет заполнен в кратчайшие сроки.
источник
rsyslog
не правильно настроен? Будет ли способ сказать?/dev/log
запись в журнал через сокет unix у меня не работает на моем rhel 6.7. Вы можете попробовать этот conf. haproxy (работает на 81) перенаправляет http-запрос на httpd (работает на 80)
/etc/haproxy/haproxy.cfg
и вы должны включить модуль rsyslog udp для получения syslog от haproxy простой conf вроде этого:
/etc/rsyslog.d/haproxy.conf
сделайте http запрос к 81, и вы получите несколько таких журналов
источник
Это может быть вызвано тем, что он запускается в изолированной тюрьме. Вам нужно убедиться, что rsyslog также создает сокет dgram внутри chroot-тюрьмы (например, / var / lib / haproxy / dev / log). Направьте директиву log на сокет / dev / log, и все будет хорошо.
Я потратил пару часов, пытаясь выяснить это, поскольку HAproxy не скажет вам ничего плохого, кроме того, что регистрация не работает.
источник
Эта ссылка объясняет это прекрасно.
Если вы вручную создаете файлы журналов
/log/haproxy-allbutinfo.log
и/log/haproxy-info.log
не забудьте сменить владельца наsyslog:adm
источник