본문 바로가기
IT Knowledge/HAProxy

HAProxy Log 설정하기!

by Seok. 2022. 5. 17.
반응형

HAProxy 단순히 파일에 대한 로깅을 지원하지 않습니다.

문서 - https://cbonte.github.io/haproxy-dconv/2.5/configuration.html#8

https://www.haproxy.com/blog/introduction-to-haproxy-logging/

 

HAProxy는 syslog서버에서 처리하기 위한 로그메시지를 내보낼 있으며,

Rsyslog journald와 호환이 됩니다. 그리고, Logstash Fluentd와 같은 로그전달자를 활용해서 중앙 로그 수집기로 로그를 보낼 있습니다.

 

 

로그를 로컬에 쌓고 싶은 경우,

로컬에 rsyslog를 설치하여, haproxy가 보내는 syslog를 수집 처리하도록 구성할 있습니다.

[Rsyslog 설치]

Ubuntu
# apt install -y rsyslog
CentOS
# yum install -y rsyslog

 

Rsyslog 설치완료되면, 구성을 편집합니다.

구성파일 : /etc/rsyslog.conf OR /etc/rsyslog.d/haproxy.conf

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


# Creating separate log files based on the severity
local0.* /var/log/haproxy-traffic.log
local0.notice /var/log/haproxy-admin.log


출처: <https://www.haproxy.com/blog/introduction-to-haproxy-logging/>

그런 다음 rsyslog를 재시작합니다.

# systemctl restart rsyslog

위의 설정은 rsyslog 기본 udp 포트 514에서 IP 127.0.0.1을 수신합니다.

 


[HAProxy 설정]

그럼 HAProxy.cfg 파일에서 Log 설정은 아래와 같이 설정합니다.

global
    log127.0.0.1:514  local0

[HAProxy Log /var/log/message 저장하지 않도록 설정하기]

Path : /etc/rsyslog.conf

 

HAProxy Log /var/log/message 로그에도 동시에 저장을하는 경우,

Message Log 비대하게 커져서 본래의 역할을 수행할 없게 된다.

따라서, HAProxy Log 생성되도록 지정한 facility "local0" message Log 저장하지 않도록 한다.

수정후 적용 : systemctl restart rsyslog

반응형

댓글