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