当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
知道如何删除那条烦人的消息吗?
答案1
尝试一下这个:
defaults
log global
#mode http
#option httplog
mode tcp
option tcplog
option dontlognull
答案2
而不是改变整个全局配置...你最好将这一行添加到你关心的option tcplog
特定块中listen
选项 httplog 设置,或者更少见的选项 tcplog,告诉 HAProxy 在向 Syslog 发送消息时使用更详细的日志格式。一般而言,您会在您的部分中选择 ,因为当 HAProxy 遇到
option httplog
使用的时,它会发出警告并将其降级为。option tcplog
defaults
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