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