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

发表评论