Ubuntu

重啟時如何消除 HAProxy 的抱怨?

  • August 16, 2020

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 httplogoption tcplogdefaults部分,因為當 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

引用自:https://serverfault.com/questions/598620