2014-10-28 49 views
6

我想在HAProxy中設置HTTP日誌記錄,並且在正確輸出請求時遇到了一些麻煩。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

如果解決方案爲您工作,請將其標記爲已回答。它有助於。 – 2015-10-20 05:56:07

回答

3

rsyslog配置假定chroot'd HAProxy與haproxy配置不匹配。通過增加線

chroot /var/lib/haproxy 

到HAProxy的配置的全局節,或改變插座rsyslog現在的位置,無論是chroot的HAProxy的創建

$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。