2014-10-28 4 views
6

Я хочу настроить HTTP-протоколирование в HAProxy, и у меня возникли проблемы с получением правильного вывода запросов.Haproxy не регистрируется с помощью rsyslog

Вот конфигурация Релевент HAProxy:

global 
    log /dev/log local0 
    log /dev/log local1 notice 
    maxconn 200000 
    tune.ssl.default-dh-param 2048 
    user haproxy 
    group haproxy 
    daemon 
    stats socket /tmp/sock1 user root group root mode 777 level admin 

defaults 
    log global 
    mode http 
    option httplog 
    option dontlognull 
     option httpclose 
    retries 3 
    option redispatch 
    maxconn 200000 
    backlog 20000 
    timeout connect 5s 
    timeout client 50s 
    timeout server 180000 
    balance roundrobin 
    cookie SERVERID rewrite 

Вот файл /etc/rsyslog.d/haproxy.conf:

# Create an additional socket in haproxy's chroot in order to allow logging via 
# /dev/log to chroot'ed HAProxy processes 
$AddUnixListenSocket /var/lib/haproxy/dev/log 

# Send HAProxy messages to a dedicated logfile 
if $programname startswith 'haproxy' then /var/log/haproxy.log 
&~ 

Я перезапущен как HAProxy и rsyslogd после принятия правильные изменения, чтобы убедиться, что они были подняты. Файл /var/log/haproxy.log даже не создается. Любая помощь будет оценена по достоинству.

+0

Если решение сработало для вас, отметьте его. Помогает. –

ответ

3

Конфигурация rsyslog предполагает chroot'd HAProxy, который не соответствует конфигурации haproxy. Либо корневым HAProxy, добавив строку

chroot /var/lib/haproxy 

к глобальной строфе HAproxy конфигурации или изменить расположение гнезда Rsyslog создает

$AddUnixListenSocket /dev/log 
1

Под глобальным изменением/добавить:

global 
    chroot /var/lib/haproxy 
    log /var/lib/haproxy/dev/log local0 
    log /var/lib/haproxy/dev/log local1 notice 
    ... rest of your file 
1

У меня была такая же проблема на Ubuntu 16.04. Пробный перезапуск haproxy и syslog и /var/log/haproxy.log все еще не был создан.

В итоге я просто перезапустил сервер, и /var/log/haproxy.log был создан при загрузке.