когда sudo service haproxy restart
появится следующее сообщение:
[WARNING] 145/113237 (6021) : config : 'option httplog' not usable with proxy 'mysql' (needs 'mode http'). Falling back to 'option tcplog'.
Я пытаюсь поставить option tcplog
в некоторых местах конфига, но сообщения не прекращаются. Вот мой конфиг:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
contimeout 5000
clitimeout 50000
srvtimeout 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
listen stats
bind :8082
mode http
stats enable
stats uri /stats
listen mysql *:3307
mode tcp
balance roundrobin
option mysql-check user check
option log-health-checks
server db01 SERVER1:3306 check port 3306 inter 1000
server db02 SERVER2:3306 check port 3306 inter 1000
Есть идеи, как удалить это надоедливое сообщение?
Попробуйте с этим:
defaults
log global
#mode http
#option httplog
mode tcp
option tcplog
option dontlognull
вместо того, чтобы изменять всю глобальную конфигурацию ... вам лучше, добавив строку option tcplog
к конкретному listen
блок, который вас беспокоит
Параметр httplog или, реже, параметр tcplog, указывает HAProxy использовать более подробный формат журнала при отправке сообщений в Syslog. Вы обычно предпочитаете
option httplog
надoption tcplog
в твоемdefaults
раздел, потому что когда HAProxy встречаетfrontend
который используетmode tcp
, он выдаст предупреждение и понизит его доoption tcplog
тем не мение.
listen mysql *:3307
mode tcp
option tcplog #add this line
balance roundrobin
option mysql-check user check
option log-health-checks
server db01 SERVER1:3306 check port 3306 inter 1000
server db02 SERVER2:3306 check port 3306 inter 1000