systemd/journald에 로그인하기 위해 haproxy를 얻으려면 어떻게 해야 합니까?

systemd/journald에 로그인하기 위해 haproxy를 얻으려면 어떻게 해야 합니까?

나는 haproxy와 함께 사용하고 싶은 최신 세대의 Linux 시스템을 가지고 있습니다. Journald는 기꺼이 에서 stdout을 기록 .service하고 로그가 해당 서비스에서 오는 것으로 표시하지만haproxy가 stdout에 로그인할 수 없는 것 같습니다..

haproxy가 systemd/journald에 로그인하도록 하는 가장 간단하고 깨끗한 방법은 무엇입니까?

편집하다: 현재 구성이 기본값입니다.

global
    log         127.0.0.1 local2

local2하지만 로컬 박스에 syslog가 없기 때문에 아무런 기능도 없습니다 .

답변1

Systemd에는 로그인할 수 있는 Unix 도메인 소켓이 있습니다.

global
        log /dev/log local0 info

그런 다음 systemctl restart haproxy변경 사항을 적용합니다.

답변2

이 대답은 어려움을 겪고 있는 사람들을 위한 것입니다. haproxy_global.cfg =>

global
    log                 127.0.0.1:514 local0

defaults
    mode                    http
    log                     global
    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 %{+Q}r"

/etc/rsyslog.d/haproxy.conf =>

    # Collect log with UDP
    $ModLoad imudp
    $UDPServerAddress 127.0.0.1
    $UDPServerRun 514

    $AddUnixListenSocket /var/lib/haproxy/dev/log
    # Send HAProxy messages to a dedicated logfile
    :programname, startswith, "haproxy" {
      /var/log/haproxy/haproxy.log
      stop
    }

/etc/logrotate.d/haproxy =>

  /var/log/haproxy/haproxy.log {
      missingok
      notifempty
      sharedscripts
      rotate 14
      daily
      compress
      postrotate
          reload rsyslog >/dev/null 2>&1 || true
      endscript
  }

관련 정보