if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~
这部分配置是将Haproxy的info日志记录到/var/log/haproxy/haproxy-info.log下,将notice日志记录到/var/log/haproxy/haproxy-notice.log下,其中“& ~”表示当日志写入到日志文件后,rsyslog停止处理这个信息。这里配置的语法是使用rainerscript脚本语言写的
当然也可用用另一种解决方式,修改/etc/rsyslog.conf配置文件,在配置文件中加入如下两行:
local0.info /var/log/haproxy-info.log
local0.notice /var/log/haproxy-notice.log
这样也可以实现上面相同的效果
然后保持配置文件并重启rsyslog服务,完成rsyslog配置
(3)测试日志信息
在客户端访问后,可以使用tail -f /var/log/haproxy/haproxy-info.log即时查看Haproxy的访问请求日志信息
[root@localhost ~]# tail -f /var/log/haproxy/haproxy-info.log
Sep 9 22:30:05 localhost haproxy[2634]: 192.168.1.30:1165 [09/Sep/2015:22:30:02.202] webcluster webcluster/inst2 0/0/0/1/3255 200 256 - - CD-- 0/0/0/0/0 0/0 "GET /test.html HTTP/1.1"
7、Haproxy的参数优化
关于Haproxy的参数优化,以下列举了几个关键的参数,并对各参数的生产环境的优化建议做了说明
参数 参数说明 优化建议maxconn 最大连接数 此参数根据应用的实际情况进行调整,推荐使用10 240
daemon 守护进程模式 Haproxy可以使用非守护进程模式启动,生产环境建议使用守护模式启动
nbproc 负载均衡的并发进程数 建议与当前服务器CPU核数相等或为其2倍
retries 重试次数 此参数主要用于对集群节点的检查,如果节点多,且并发量大,设置为2次或3次;在服务器节点不多的情况下,可以设置为5次或6次
option http-server-close 主动关闭http请求选项 建议在生产环境中使用此选项,避免由于timeout时间设置过长导致http连接堆积
timeout http-keep-alive 长连接超时时间 此选项设置长连接超时时间,具体参考应用自身特点设置,可以设置为10s
timeout http-request http请求超时时间 建议此时间设置为5~10s,增加http连接释放速度
timeout client 客户端超时时间 如果访问量过大,节点响应慢,可以将此时间设置短一些,建议设置为1min左右就可以了
Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
CentOS 6.3下Haproxy+Keepalived+Apache配置笔记