Назад | Перейти на главную страницу

Как удалить жалобу на HAProxy при перезапуске?

когда 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