HAProxy配置启用状态页

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAProxy配置启用状态页相关的知识,希望对你有一定的参考价值。

HAProxy状态页功能

  • 通过web界面,显示当前HAProxy的运行状态
  • 并且可以通过状态页启停代理服务器组(出于安全,不建议使用)

HAProxy状态页配置项

stats enable    #基于默认的参数启用stats page
stats hide-version  #将状态页中haproxy版本隐藏
stats refresh <delay>   #设定自动刷新时间间隔,默认不自动刷新,以秒为单位
stats uri <prefix>  #自定义stats page uri,默认值:/haproxy?stats
stats realm <realm>  #账户认证时的提示信息,示例:stats realm HAProxy\\Statistics
stats auth <user>:<passwd>  #认证时的账号和密码,可定义多个用户,每行指定一个用户.默认:no authentication
stats admin { if | unless } <cond>  #启用stats page中的管理功能

HAProxy添加现实状态页

  • 在主配置文件中添加并实现

1. 确保HAProxy服务正常

  • 查看HAProxy状态
    systemctl status haproxy.service
[root@C8-189 ~]# systemctl status haproxy.service 
● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-06-26 19:02:08 CST; 4min 32s ago
  Process: 17118 ExecStartPre=/apps/haproxy/sbin/haproxy -f /apps/haproxy/conf/haproxy.cfg -c -q (code=exited, status=0/SUCCESS)
 Main PID: 17131 (haproxy)
    Tasks: 3 (limit: 11346)
   Memory: 28.3M
   CGroup: /system.slice/haproxy.service
           ├─17131 /apps/haproxy/sbin/haproxy -Ws -f /apps/haproxy/conf/haproxy.cfg -p /apps/haproxy/socket/haproxy.pid
           └─17138 /apps/haproxy/sbin/haproxy -Ws -f /apps/haproxy/conf/haproxy.cfg -p /apps/haproxy/socket/haproxy.pid

Jun 26 19:02:08 C8-189 systemd[1]: Starting HAProxy Load Balancer...
Jun 26 19:02:08 C8-189 systemd[1]: Started HAProxy Load Balancer.
Jun 26 19:02:08 C8-189 haproxy[17131]: [WARNING]  (17131) : config : proxy 'web_port' has no 'bind' directive. Please declare it as a backend if this was intended.
Jun 26 19:02:08 C8-189 haproxy[17131]: [NOTICE]   (17131) : New worker #1 (17138) forked
  • 查看当前服务器开放端口
    ss -ntlp
[root@C8-189 ~]# ss -ntlp
State        Recv-Q        Send-Q                Local Address:Port               Peer Address:Port                                                                       
LISTEN       0             128                         0.0.0.0:9999                    0.0.0.0:*           users:(("haproxy",pid=17138,fd=8))                             
LISTEN       0             128                         0.0.0.0:111                     0.0.0.0:*           users:(("rpcbind",pid=758,fd=4),("systemd",pid=1,fd=42))       
LISTEN       0             128                         0.0.0.0:22                      0.0.0.0:*           users:(("sshd",pid=828,fd=4))                                  
LISTEN       0             128                            [::]:111                        [::]:*           users:(("rpcbind",pid=758,fd=6),("systemd",pid=1,fd=44))       
LISTEN       0             128                            [::]:22                         [::]:*           users:(("sshd",pid=828,fd=6))    

2. 在主配置文件中添加状态页主机

  • 编辑haproxy.cfg并添加代码
listen stats
    mode http
    bind 0.0.0.0:9999
    stats enable
    log global
    stats uri /haproxy-status
    stats auth haadmin:123456

listen stats

listen <name>

  • 定义反向代理中的一个主机组
  • 类似于apahche活着nginx中的一个虚拟主机
  • 将frontend和backend合并在一起配置,
  • 相对于frontend和backend配置更简洁,生产常用

mode http

mode http|tcp

  • 指定当前反向代理主机组使用的负载协议类型
  • http 代表七层http协议转发
  • tcp 代表四层tcp协议转发
  • HAProxy 目前不能直接支持UDP和HTTPS协议转发

bind 0.0.0.0:9999

bind [<address>]:<port_range> [, ...] [param*]

  • 监听在本机所有IP的9999端口上

stats enable

  • 启用stats page

log global

  • 日志记录在全局日志中

stats uri /haproxy-status

stats uri <prefix>

  • 自定义访问路径
  • 默认为/haproxy?stats

stats auth haadmin:123456

stats auth <user>:<passwd>

  • 访问状态页时使用的用户名和密码
  • 默认no authentication 不安全

3. 访问状态页

  • 使用自定义端口和路径访问状态页

使用自定义链接端口和用户名密码登录
HAProxy状态页

以上是关于HAProxy配置启用状态页的主要内容,如果未能解决你的问题,请参考以下文章

HAProxy 之 页面管理配置

haproxy 安装配置

Tomcat实战案例:启用Tomcat 状态页和管理页面

Haproxy状态监控配置教程

keepalived+haproxy 安装配置

haporxy搭建web群集