HAProxy基础配置-配置haproxy的日志
HAProxy基础配置-配置haproxy的日志
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
生产环境中我们很少使用haproxy服务器来记录日志,我们知道日志记录那必须得落地,一旦haproxy记录日志这意味着该节点会进行大量的磁盘I/O操作,这无疑会降低效率。如果不记录日志会减少Haproxy的压力,无形中提示了HAProxy的性能。
大家都知道HAProxy只是负载均衡器,它一般只是公司的访问入口,真正提供服务的是后端的服务器,因此日志记录应该在后端的web服务器来记录哟,而且HAProxy对日志的支持功能并不是很友好。
一.配置rsyslog支持haproxy日志
1>.查看rsyslog服务的默认的配置文件
[root@node102.yinzhengjie.org.cn ~]# egrep -v "^#|^$" /etc/rsyslog.conf $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal $WorkDirectory /var/lib/rsyslog $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $IncludeConfig /etc/rsyslog.d/*.conf $OmitLocalLogging on $IMJournalStateFile imjournal.state *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.log [root@node102.yinzhengjie.org.cn ~]#
2>.编辑rsyslog服务的配置文件
[root@node102.yinzhengjie.org.cn ~]# vim /etc/rsyslog.conf [root@node102.yinzhengjie.org.cn ~]# [root@node102.yinzhengjie.org.cn ~]# egrep -v "^#|^$" /etc/rsyslog.conf $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal $ModLoad imudp #由于haproxy是基于udp方式发送日志消息的,因此我们需要加载支持udp协议的模块 $UDPServerRun 514 #rsyslog的udp服务器默认端口是514 $WorkDirectory /var/lib/rsyslog $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $IncludeConfig /etc/rsyslog.d/*.conf $OmitLocalLogging on $IMJournalStateFile imjournal.state *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.log local5.* /var/log/haproxy.log #这里就是定义haproxy日志存放的路径 [root@node102.yinzhengjie.org.cn ~]# [root@node102.yinzhengjie.org.cn ~]#
3>.重启rsyslog服务
[root@node102.yinzhengjie.org.cn ~]# systemctl restart rsyslog [root@node102.yinzhengjie.org.cn ~]# [root@node102.yinzhengjie.org.cn ~]# netstat -untalp | grep rsyslog udp 0 0 0.0.0.0:514 0.0.0.0:* 13310/rsyslogd udp6 0 0 :::514 :::* 13310/rsyslogd [root@node102.yinzhengjie.org.cn ~]# [root@node102.yinzhengjie.org.cn ~]#
二.haproxy服务器配置
1>.编辑haproxy的配置文件支持日志功能
[root@node102.yinzhengjie.org.cn ~]# cat /etc/haproxy/haproxy.cfg global maxconn 100000 chroot /yinzhengjie/softwares/haproxy stats socket /yinzhengjie/softwares/haproxy/haproxy.sock mode 600 level admin user haproxy group haproxy daemon nbproc 2 cpu-map 1 0 cpu-map 2 1 nbthread 2 pidfile /yinzhengjie/softwares/haproxy/haproxy.pid #将haproxy对应info级别的日志发送给本机的默认rsyslog日志服务对应的自定义服务"local5"类别上。 log 127.0.0.1 local5 info defaults option http-keep-alive option forwardfor option redispatch option abortonclose maxconn 100000 mode http timeout connect 300000ms timeout client 300000ms timeout server 300000ms listen status_page bind 172.30.1.102:8888 stats enable stats uri /haproxy-status stats auth admin:yinzhengjie stats realm "Welcome to the haproxy load balancer status page of YinZhengjie" stats hide-version stats admin if TRUE stats refresh 5s listen WEB_PORT_80 bind 172.30.1.102:80 #捕捉请求报文中头部信息的"Host"字段长度为256(遗憾的是HAProxy 1.8版本不生效) capture request header Host len 256 #捕捉请求报文中头部信息的"User-Agent"字段长度为512(遗憾的是HAProxy 1.8版本不生效) capture request header User-Agent len 512 log global mode http option tcplog balance roundrobin cookie HAPROXY-COOKIE insert indirect nocache server web01 172.30.1.106:80 cookie httpd-106 check inter 3000 fall 3 rise 5 server web02 172.30.1.107:80 cookie httpd-107 check inter 3000 fall 3 rise 5 server web03 172.30.1.108:80 cookie httpd-107 check inter 3000 fall 3 rise 5 backup [root@node102.yinzhengjie.org.cn ~]# [root@node102.yinzhengjie.org.cn ~]# systemctl restart haproxy [root@node102.yinzhengjie.org.cn ~]#
2>.浏览器访问haproxy的地址"http://node102.yinzhengjie.org.cn/"
3>.查看haproxy的访问日志
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。
欢迎交流学习技术交流,个人微信: "JasonYin2020"(添加时请备注来源及意图备注)
作者: 尹正杰, 博客: https://www.cnblogs.com/yinzhengjie/p/12122239.html