【问题标题】:How to send haproxy info log to rsyslog via unix sock?如何通过 unix sock 将 haproxy 信息日志发送到 rsyslog?
【发布时间】:2020-12-30 01:25:27
【问题描述】:

您好,我正在尝试配置 haproxy/rsyslog,以便只有 haproxy info 日志通过 unix sock 发送到 ryslog。

这是我的配置:

haproxy 配置

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)?

【问题讨论】:

    标签: linux haproxy rsyslog unix-socket


    【解决方案1】:

    正确的答案可能是使用规则集来包含 imuxsock 部分,但我不知道如何在旧语法中做到这一点。

    一个不太理想的更简单的解决方案是检查日志项中的程序名。还要匹配严重级别 0 到 6(从出现到信息)给出结果:

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

    我不确定,但您也可以尝试在文件中更早的位置移动您的配置,在标准日志记录代码之前,但是除非您使用类似的东西,否则您的 haproxy 日志也会出现在标准日志中

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

    stop 停止进一步处理该输入。

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 2020-02-15
      • 1970-01-01
      • 2020-04-03
      • 2019-04-08
      • 2011-02-24
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多