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配置启用状态页的主要内容,如果未能解决你的问题,请参考以下文章