簡體   English   中英

如何通過 unix sock 將 haproxy 信息日志發送到 rsyslog?

[英]How to send haproxy info log to rsyslog via unix sock?

嗨,我正在嘗試配置 haproxy/rsyslog,以便只有 haproxy info日志通過 unix 襪子發送到 ryslog。

這是我的配置:

代理配置

frontend MY_FRONT_END
    log 127.0.0.1 /var/log/haproxy/dev/log info
    bind *:12080
    default_backend HTTP_BACKEND

rsyslog 配置

$ModLoad imuxsock
$InputUnixListenSocketCreatePath on
$InputUnixListenSocketHostName localhost
$AddUnixListenSocket /var/log/haproxy/dev/log
*.info /var/log/haproxy/access.log

但是,我在日志中看到的不僅僅是 haproxy 日志,該日志包含所有與 haproxy 無關的信息(前三行日志)

Dec 28 20:28:12 localhost sudo:   testaccount : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/sh -c ip addr show
Dec 28 20:28:12 localhost sudo:   testaccount : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/sh -c ip route
Dec 28 20:28:13 localhost sudo:   testaccount : TTY=pts/1 ; PWD=/var/log/haproxy ; USER=root ; COMMAND=/sbin/service haproxy restart
Dec 28 20:28:13 localhost polkitd[59350]: Registered Authentication Agent for unix-process:32995:43061437 (system bus name :1.28346 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_CA.UTF-8)
Dec 28 20:28:13 localhost systemd: Stopping HAProxy Load Balancer...
Dec 28 20:28:13 localhost haproxy: [WARNING] 362/202813 (30706) : Exiting Master process...
Dec 28 20:28:13 localhost haproxy: [NOTICE] 362/202813 (30706) : haproxy version is 2.2.6
Dec 28 20:28:13 localhost haproxy: [NOTICE] 362/202813 (30706) : path to executable is /usr/local/sbin/haproxy
Dec 28 20:28:13 localhost haproxy: [ALERT] 362/202813 (30706) : Current worker #1 (30708) exited with code 143 (Terminated)
Dec 28 20:28:13 localhost haproxy: [WARNING] 362/202813 (30706) : All workers exited. Exiting... (0)
Dec 28 20:28:13 localhost systemd: Starting HAProxy Load Balancer...
Dec 28 20:28:13 localhost haproxy[33016]: Proxy MY_FRONT_END started.
Dec 28 20:28:13 localhost haproxy[33016]: Proxy HTTP_BACKEND started.
Dec 28 20:28:13 localhost haproxy: [NOTICE] 362/202813 (33016) : New worker #1 (33018) forked
Dec 28 20:28:13 localhost systemd: Started HAProxy Load Balancer.
Dec 28 20:28:13 localhost polkitd[59350]: Unregistered Authentication Agent for unix-process:32995:43061437 (system bus name :1.28346, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_CA.UTF-8) (disconnected from bus)
Dec 28 20:28:13 localhost sudo:   testaccount : TTY=pts/1 ; PWD=/var/log/haproxy ; USER=root ; COMMAND=/sbin/service rsyslog restart

我如何配置來實現這一點(僅通過 unix sock 將 haproxy 信息日志發送到 rsyslog)?

正確的答案可能是使用規則集來包含imuxsock部分,但我不知道如何在遺留語法中做到這一點。

一個不太理想的更簡單的解決方案是檢查日志項中的程序名。 還要匹配嚴重級別 0 到 6(從出現到信息)給出結果:

if $programname=="haproxy" and $syslogseverity<=6 then /var/log/haproxy/access.log

我不確定,但是您也可以嘗試在文件中更早的位置,在標准日志記錄代碼之前移動您的配置,但是除非您使用類似的東西,否則您的 haproxy 日志也會出現在標准日志中

*.info /var/log/haproxy/access.log
*.* stop

其中stop停止對該輸入的進一步處理。

暫無
暫無

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

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