j_0016.gif

haproxy不记录日志,这是啥子情况~,没碰到过,不懂~~

随机Google了一把,参照文章搞了搞,还是不行有木有~

Ps:网上多是关于syslog的文章~(道理是相通的,就是路不同,但就是走不通~)


看文档~

1.安装haproxy

[root@localhost vagrant]# yum install haproxy -y
[root@localhost vagrant]# rpm -qa | grep haproxy
haproxy-1.4.24-2.el6.x86_64
[root@localhost vagrant]#

2.设置rsyslog(6.x之后使用rsyslog取代了syslog)

  • rsyslog的特性:

1.后端存查日志支持的客户端多支持MySQL、PostgresSQL、Oracle 等

2.在同一台机器上支持多子rsyslog进程,可以监听在不同端口

3.直接兼容系统自带的syslog.conf配置文件

4.可将消息过来后再次转发

5.配置文件中可以写简单的逻辑判断

6.有现成的前端web展示程序等等。

另外和rsyslog功能差不多还有syslog-ng,但是syslog-ng免费版本是闭源。

  • 修改rsyslog.conf文件

[root@localhost vagrant]# sed -e '/^#/d;/^$/d;/^\*/d' /etc/rsyslog.conf 
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad imudp
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local2.*                                                /var/log/haproxy.log
  • 上文中修改了两行,添加了一行

  • 修改的两行是:(取消注释)

$ModLoad imudp
$UDPServerRun 514
  • 添加的一行是:(和haproxy中定义的log level要一致)

local2.*                                                /var/log/haproxy.log
  • 且看haproxy中定义的log level:

[root@localhost vagrant]# grep 'local*' /etc/haproxy/haproxy.cfg 
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2
  • 重启rsyslog服务重新验证日志相关信息

[root@localhost vagrant]# 
[root@localhost vagrant]# cat /var/log/haproxy.log 
[root@localhost vagrant]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
  • 重启haproxy(提示后端上游服务器没有开启)

[root@localhost vagrant]# cat /var/log/haproxy.log 
Jun  7 09:46:23 localhost haproxy[2479]: Proxy main started.
Jun  7 09:46:23 localhost haproxy[2479]: Proxy static started.
Jun  7 09:46:23 localhost haproxy[2479]: Proxy app started.
Jun  7 09:46:23 localhost haproxy[2479]: Server static/static is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Jun  7 09:46:23 localhost haproxy[2479]: backend static has no server available!
Jun  7 09:46:24 localhost haproxy[2480]: Server app/app1 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 3 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Jun  7 09:46:24 localhost haproxy[2480]: Server app/app2 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 2 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Jun  7 09:46:24 localhost haproxy[2480]: Server app/app3 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Jun  7 09:46:25 localhost haproxy[2480]: Server app/app4 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Jun  7 09:46:25 localhost haproxy[2480]: backend app has no server available!



Note:

    如果你是自行编译安装haproxy的话,有时候可能会自定义日志文件在编译目录下面,但是rsyslog并没有读取该目录的权限,所以只能呵呵了~,不过办法总归是有的,就是折腾。。。


参考:http://wangfeng7399.blog.51cto.com/3518031/1405758