HAProxy 不向 rsyslog 发送自定义日志格式

时间:2021-05-04 14:56:47

标签: haproxy rsyslog

我正在尝试让 HAProxy 将自定义日志发送到 rsyslog。发送日志本身工作正常,但我没有收到我需要的日志。

这是我的 haproxy.cfg

global
        log 127.0.0.1:9001      len 8192 local0
        log /var/lib/haproxy/dev/log len 8192 local0
        log /var/lib/haproxy/dev/log len 8192 local1 notice

        user root
        group root
        daemon
        stats socket /var/run/haproxy.stat mode 666
        stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
        stats socket /var/lib/haproxy/stats level admin
        tune.bufsize 32768
        tune.maxrewrite 1024
        stats timeout 30s
        chroot /var/lib/haproxy

        maxconn                         8192
        tune.ssl.default-dh-param       4096

defaults
        # Default ciphers to use on SSL-enabled listening sockets. For 
        # more information, see ciphers(1SSL).
        log             global
        mode            http
        option          httplog
        option          log-separate-errors
        option          dontlognull
        retries         2
        option          redispatch
        maxconn         8000
        timeout         http-request            10s
        timeout         http-keep-alive         60s
frontend no_ssl
        bind :::80 v4v6
        redirect prefix http://www.mysite/ code 301 if { hdr(host) -i mysite }
        redirect scheme https if !{ ssl_fc }

frontend cluster_ssl
        bind :::443 v4v6 ssl crt /etc/ssl/private/ssl.pem alpn h2,http/1.10/ssl.pem 
        bind *:8404
        option http-use-htx
        http-request use-service prometheus-exporter if { path /metrics }
        stats enable
        stats uri /stats
        stats refresh 10s

        option          forwardfor
        option          http-server-close
        option          httplog

        log-format "%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC %CS %tsc %ac/%fc/%bc/%sc/%rc %sq/%bq %hr %hs {%sslc|%sslv} %{+Q}r"

        capture request header Host len 100
        capture request header User-Agent len 250
        capture request header Referer len 100
        capture response header Content-length len 9
        capture response header Location len 100

        #
        # HSTS Header - more information:
        # https://www.owasp.org/index.php/HTTP_Strict_Transport_Security
        #
        http-response add-header Strict-Transport-Security max-age=31536000;\ 
        includeSubDomains;\ preload



这里是 /etc/rsyslog.d/49-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
:programname, startswith, "haproxy" {
  @@127.0.0.1:9001
  /var/log/haproxy.log
  stop
}


所以我需要将日志格式部分写入/var/log/haproxy.log 我错过了什么?这甚至可能吗?我是 haproxy 的新手,负责将这些日志发送到 loki,但不知道为什么它不会将自定义日志发送到 rsyslog。 如果有人知道将这些日志直接发送到 loki (promtail) 的方法,那也太棒了 :-)

谢谢

0 个答案:

没有答案