簡體   English   中英

Haproxy 不使用 rsyslog 進行日志記錄

[英]Haproxy not logging with rsyslog

我想在 HAProxy 中設置 HTTP 日志記錄,但在讓它正確輸出請求時遇到了一些麻煩。

這是 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 甚至沒有被創建。 任何幫助,將不勝感激。

rsyslog 配置假定 chroot 的 HAProxy,它與 haproxy 配置不匹配。 通過添加行來 chroot HAProxy

    chroot  /var/lib/haproxy

到 haproxy 配置的全局節,或更改 rsyslog 創建的套接字的位置

$AddUnixListenSocket /dev/log

在全局更​​改/添加下:

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

我在 Ubuntu 16.04 上遇到了完全相同的問題。 嘗試重新啟動 haproxy 和 syslog,但仍未創建 /var/log/haproxy.log。

我最終只是重新啟動了服務器,並在啟動時創建了 /var/log/haproxy.log。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM