haproxy开启日志功能

haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件。下面以centos6.4为例,haproxy使用系统自带的rpm报1.4版本

1、vim /etc/haproxy/haproxy.conf

global
 log 127.0.0.1 local3     #local3是设备,对应于 /etc/rsyslog.conf中的配置,默认回收info的日志级别
 maxconn 1024
 user haproxy
 group haproxy
 daemon
 pidfile /var/run/haproxy.pid
defaults mode http log global option httplog option dontlognull option http
-server-close option forwardfor except 127.0.0.0/8 retries 2 option redispatch maxconn 1024

2、编辑系统日志配置

vim /etc/rsyslog.conf
默认有下面的设置,会读取 /etc/rsyslog.d/*.conf目录下的配置文件
$IncludeConfig /etc/rsyslog.d/*.conf
为haproxy创建一个独立的配置文件

# vim  /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
$UDPServerRun 514
local3.*     /var/log/haproxy.log     #如果不加下面的的配置则除了在/var/log/haproxy.log中写入日志外,也会写入message文件

3、配置rsyslog的主配置文件,开启远程日志

# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS=”-c 2 -r -m 0
#
-c 2 使用兼容模式,默认是 -c 5 #-r 开启远程日志 #-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能

配置完成后重启haproxy和rsyslog服务

# /etc/init.d/rsyslog restart
# /etc/init.d/haproxy restart

4、在红帽5上配置系统日志与红帽6不同,红帽5的/etc/rsyslog.conf 不包含/etc/rsyslog.d/*.conf,配置如下 

#加入haproxy.none表示不把haproxy日志写入message
$ModLoad imudp
$UDPServerRun 514
*.info;mail.none;authpriv.none;cron.none;local3.none               /var/log/messages
local3.*        /var/log/haproxy.log
 
原文地址:https://www.cnblogs.com/reachos/p/8616578.html