设为首页 收藏本站
查看: 1047|回复: 0

[经验分享] HAproxy log-gino

[复制链接]

尚未签到

发表于 2019-1-1 08:02:49 | 显示全部楼层 |阅读模式
  Doc/目录下提供了一些文档,具体的配置说明可以参考在configuration.txt文件。
  
下面主要说明下配置过程中日志输出问题和一些需要注意的配置选项。
  1). 日志的输出问题。
  根据说明,haproxy的日志输出使用了系统的日志程序,比如syslogd,  syslog-ng。这两个日志系统使用上其主要的区别就是其配置文件的格式不同,考虑syslog-ng算是syslog的一个升级版,在性能和功能性 上都要优于syslogd,因此这里主要介绍的是配置syslog-ng来实现haproxy的日志输出。
  
我的机器环境,一如既往:SUSE Linux Enterprise Server 11 (x86_64),
  
日志程序默认是syslog-ng。
  I. 编辑系统日志服务的配置文件/etc/sysconfig/syslog,查看SYSLOG_DAEMON的值,这个值指定了所要使用的日志服务程序,默认为空,表示自动检测,如果不确定,可以显式指定SYSLOG_DAEMON = “syslog-ng”。
  II. 编辑syslog-ng的配置文件/etc/syslog-ng/syslog-ng.conf,在末尾添加如下代码:
  


  • # for supporting the logging of "HAProxy"

  • source my_src {
  •     #
  •     # process log messages from network:
  •     #
  •     udp(ip("0.0.0.0") port(514));
  • };

  • filter f_local0 { facility(local0); };
  • filter custom { program("haproxy"); };

  • destination d_haproxy { file("/var/log/haproxy.log"); };

  • log { source(my_src); filter(f_local0); destination(d_haproxy); };
  • #log { source(my_src); filter(custom); destination(d_haproxy); };    # OK, work too
  

  注:这里指定了日志输出到/var/log目录下,工作正常,若指定输出到/home等其他子目录下却会失败,具体原因不详,待查。另,haproxy的日志也可通过此方法将其发送到某个日志服务器用于统一处理,具体可查看syslog-ng的相关文档。
  III. 重启syslog服务,使用如下命令:
  


  • service syslog restart
  

  IV. 编辑haproxy的配置文件,假定名为haproxy.cfg
  

  在所需要做日志记录的模块(比如,global, default等)添加如下代码:
  


  • # 使用系统的syslog记录日志(通过udp,默认端口号为514)
  • log 127.0.0.1 local0
  

  注:local0 在两个配置文件中的一致。
  这会查看日志基本上就OK了。
  


  • tail -f /var/log/haproxy.log
  

  注:其他须解决的日志相关问题
  

  a. haproxy当前的日志全部记录在一个文件中,考虑按日期将其分段成不同文件存储;
  
b. 日志不能输出到除/var/log/外的其他目录
  2). 一些常用配置选项的说明
  如下是我使用的一个配置文件,常用的选项说明都已经注释了,需要更全面的描述请查阅configuration.txt文件。
  


  • #########################################################################
  • # HAProxy 配置文件
  • #########################################################################

  • global
  • # 使用系统的syslog记录日志(通过udp,默认端口号为514)
  • log 127.0.0.1 local0 # info [err warning info debug]
  • chroot /home/user/haproxy

  • #限制单个进程的最大连接数
  • maxconn 65535

  • # 让进程在后台运行,即作为守护进程运行,正式运行的时候开启,此处先禁止,等同于在命令行添加参数 -D
  • # daemon
  • # 指定作为守护进程运行的时候,要创建多少个进程,默认只创建一个,需要daemon开启模式
  • # nbproc 1

  • # 设置debug模式运行,与daemon模式只能互斥,等同于在命令行添加参数 -d
  • # debug
  • pidfile /home/user/haproxy/logs/haproxy.pid    # not work

  • defaults
  • # 在连接失败或断开的情况下,允许当前会话被重新分发
  • option redispatch
  • # 设置在一个服务器上链接失败后的重连次数
  • retries 2
  • # 设置服务器分配算法
  • balance roundrobin

  • # 不记录空连接
  • option dontlognull

  • # 设置等待连接到服务器成功的最大时间
  • timeout connect 5000ms
  • # 设置客户端的最大超时时间
  • timeout client 1800000ms
  • # 设置服务器端的最大超时时间
  • timeout server 1800000ms

  • # Enable the sending of TCP keepalive packets on both sides, clients and servers
  • # NOTE: 在服务器CPU强劲的情况下,最好不要开启保活,这样可减少资源消耗
  • #option tcpka

  • ##############################统计页面配置##################################

  • listen admin_stat
  • # 监听端口
  • bind *:8011
  • # http的7层模式
  • mode http
  • option httplog
  • log global
  • # 统计页面自动刷新时间
  • stats refresh 30s
  • # 统计页面URL
  • stats uri /admin?stats
  • # 统计页面密码框上提示文本
  • stats realm Haproxy\ Statistics
  • # 统计页面用户名和密码设置
  • stats auth admin:admin
  • # 隐藏统计页面上HAProxy的版本信息
  • stats hide-version

  • ###########################TCP连接的监听配置################################

  • listen  tcp-in
  • bind *:2211
  • mode tcp
  • # 日志记录选项
  • option tcplog
  • log global

  • # 后台服务器
  • # weight  -- 调节服务器的负重
  • # check -- 允许对该服务器进行健康检查
  • # inter  -- 设置连续的两次健康检查之间的时间,单位为毫秒(ms),默认值 2000(ms)
  • # rise  -- 指定多少次连续成功的健康检查后,即可认定该服务器处于可操作状态,默认值 2
  • # fall  -- 指定多少次不成功的健康检查后,认为服务器为当掉状态,默认值 3
  • # maxconn  -- 指定可被发送到该服务器的最大并发连接数
  • server localhost 0.0.0.0:2233 weight 3 check inter 2000 rise 2 fall 3
  • server 192.168.1.100 192.168.1.100:2233 weight 3 check inter 2000 rise 2 fall 3
  • server 192.168.1.101 192.168.1.101:2233 weight 3 check inter 2000 rise 2 fall 3

  • #########################HTTP连接的监听配置################################

  • listen  http-in
  • bind *:2212
  • mode http
  • option httplog
  • log global

  • # 设置健康检查模式
  • #option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www
  • #option smtpchk

  • # 后台服务器
  • server localhost 0.0.0.0:2234 weight 3 check inter 2000 rise 2 fall 3
  • server 192.168.1.100 192.168.1.100:2234 weight 3 check inter 2000 rise 2 fall 3
  • server 192.168.1.101 192.168.1.101:2234 weight 3 check inter 2000 rise 2 fall 3
  

  对于健康检查,推荐开开启比较好,否则当后台服务器当掉的时候,haproxy将不会将连接重定向到下一个可用的服务器上。
  根据以上配置的统计页面url,可访问:http://host_ip:2212/admin?stats 进入统计页面。注:端口号是你配置的前置http端口。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658098-1-1.html 上篇帖子: Haproxy 与 Cookie-Web运维 下篇帖子: 缺少/run/haproxy目录,haproxy服务启动失败
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表