`
joy2everyone
  • 浏览: 134792 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

HAProxy 学习笔记1-- 配置日志

阅读更多
HAProxy, "The Reliable, High Performance TCP/HTTP Load Balancer"

使用HAProxy负载若干python websocket实例,安装完HAProxy后,默认情况下,HAProxy为了节省读写IO所消耗的性能,默认情况下没有日志输出,以下是我配置log的过程:

Fedora16 默认使用的是rsyslog管理log

可通过以下shell来检查:
#rpm -q sysklogd syslog-n rsyslog

package sysklogd is not installed
package syslog-n is not installed
rsyslog-5.8.7-1.fc16.i686

#rpm -ql rsyslog | grep conf$

/etc/rsyslog.conf

1.
vim /etc/rsyslog.conf

添加local0.* /var/log/haproxy.log

这里对路径如果修改为/home/xinz/haproxytest/log目录下,由于rsyslog默认情况下,没有访问home目录下的权限,可以参考:
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep rsyslogd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

2.
rsyslog 默认情况下,需要在514端口监听UDP,所以可以把/etc/rsyslog.conf如下的注释去掉
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

3.重启 rsyslog

service rsyslog restart
service rsyslog status


4.在任意工作目录下,配置如下文件

global
    log 127.0.0.1 local0 info
    maxconn 10000
    ulimit-n 30000

defaults
    log global
    mode http

frontend pub-srv 0.0.0.0:8080
    maxconn 10000
    timeout client 40s
    use_backend websocket if { hdr(Upgrade) -i WebSocket }
    default_backend http

backend websocket
    timeout connect 100s
    timeout server 600s
    server ws1 localhost:8084 weight 1 maxconn 5000 check
    server ws2 localhost:8085 weight 1 maxconn 5000 check

backend http
    timeout connect 40s
    timeout server 30s
    server www1 localhost:8084 weight 1 maxconn 5000 check
    server www2 localhost:8085 weight 1 maxconn 5000 check



5. 如果是public 80端口需要root权限执行,这里简单测试使用8080
haproxy -f ./haproxy.conf


6. 日志输出在/var/log/haproxy.log下

在另一台linux26机器上配置log如下,使用的是syslog

1.
vim /etc/sysconfig/syslog


SYSLOGD_OPTIONS="-m 0 -r"
添加-r参数
-r:enables logging from remote machines

2.
vim /etc/syslog.conf

添加如下内容:
local0.* /var/log/haproxy.log

3.
/sbin/service syslog restart


其他的配置内容步骤是一样的

reference links:
http://linuxadminzone.com/enable-or-fix-logging-for-haproxy-load-balancer/
http://kevin.vanzonneveld.net/techblog/article/haproxy_logging/
http://code.google.com/p/haproxy-docs/wiki/Logging#Examples_of_logs

1
0
分享到:
评论
3 楼 shoringchow 2013-08-19  
   请问楼主,如何设置haproxy的httplog日志,使同一域名的http访问日志记录在一个日志文件内  非同一域名的http访问日志记录到不同的日志文件中?谢谢
2 楼 joy2everyone 2012-10-19  
pouyang 写道
非常感谢这么好的文章,帮助我设置日志成功了!


能帮上你的忙就好啦
1 楼 pouyang 2012-10-18  
非常感谢这么好的文章,帮助我设置日志成功了!

相关推荐

Global site tag (gtag.js) - Google Analytics