HAProxy Exporter for Prometheus 是一个简单的服务,用于抓取 HAProxy 的统计数据(stats)并通过 HTTP 暴露,供 Prometheus 采集。注意:此导出器已退役,所有受支持版本的 HAProxy 均已内置 Prometheus 导出器模块,可在构建时通过单个标志集成到二进制文件中,并提供原生 Prometheus 端点。建议尽快迁移至 HAProxy 内置支持。
$http_proxy/$https_proxy/$no_proxy)配置 HTTP 代理该导出器原本适用于需要将 HAProxy 运行指标(如连接数、请求量、健康状态等)导出至 Prometheus 进行监控的场景。但由于 HAProxy 已在 2.0.0 及以上版本内置 Prometheus 导出功能,此独立导出器已停止维护。仅推荐在无法升级 HAProxy 或临时过渡场景下使用,长期应迁移至内置方案。
通过命令行启动导出器,核心配置通过标志(flags)指定:
bash./haproxy_exporter [flags]
查看所有可用标志:
bash./haproxy_exporter --help
| 参数 | 说明 | 示例 |
|---|---|---|
--haproxy.scrape-uri | HAProxy stats 接口的 URI(必须包含 ;csv 参数,需引号包裹) | --haproxy.scrape-uri="http://localhost:5000/haproxy?stats;csv" |
--no-haproxy.ssl-verify | 禁用 HTTPS 抓取时的证书验证 | --no-haproxy.ssl-verify |
--http.proxy-from-env | 从环境变量(HTTP_PROXY/HTTPS_PROXY/NO_PROXY)读取代理配置 | --http.proxy-from-env |
--web.config.file | TLS 和基本认证配置文件路径(格式参考 exporter-toolkit) | --web.config.file=web-config.yml |
若 HAProxy stats 接口路径为 /baz(非默认):
bashhaproxy_exporter --haproxy.scrape-uri="http://localhost:5000/baz?stats;csv"
抓取远程 HAProxy 实例:
bashhaproxy_exporter --haproxy.scrape-uri="[***]"
若 stats 接口受基本认证保护,可在 URI 中包含凭据:
bashhaproxy_exporter --haproxy.scrape-uri="[***]"
为避免凭据暴露在进程列表中,可通过文件传递参数:
bashecho '--haproxy.scrape-uri=[***] > args haproxy_exporter @args
抓取 HTTPS 接口,禁用证书验证(仅测试环境使用):
bashhaproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri="[***]"
设置环境变量并启用代理支持:
bashexport HTTP_PROXY="[***]" haproxy_exporter --http.proxy-from-env --haproxy.scrape-uri="[***]"
若 HAProxy 配置了 Unix Socket stats 接口(如 /run/haproxy/admin.sock):
bashhaproxy_exporter --haproxy.scrape-uri=unix:/run/haproxy/admin.sock
通过 Docker 容器运行导出器(镜像托管于 Quay 和 Docker Hub):
bashdocker run -p 9101:9101 quay.io/prometheus/haproxy-exporter:latest \ --haproxy.scrape-uri="[***]"
注:容器默认暴露 9101 端口,需映射至主机端口以提供 Prometheus 采集。
导出器支持通过配置文件启用 TLS 和基本认证,需通过 --web.config.file 指定配置文件路径,配置格式参考 exporter-toolkit 文档。
HAProxy 2.0.0 及以上版本内置 Prometheus 导出模块,2.4 及以上版本可通过构建时添加 USE_PROMEX=1 标志启用:
bashmake TARGET=linux-glibc USE_PROMEX=1
预构建版本(如 Docker 镜像)通常已默认启用此功能。
在 haproxy.cfg 中添加前端配置,暴露 /metrics 端点:
haproxyfrontend stats bind *:8404 # 暴露指标的端口 http-request use-service prometheus-exporter if { path /metrics } # Prometheus 指标端点 stats enable # 传统 stats 页面(可选) stats uri /stats # 传统 stats 页面路径(可选) stats refresh 10s # stats 页面刷新间隔(可选)
重启 HAProxy 后,访问 http://<haproxy-ip>:8404/metrics 即可获取 Prometheus 格式指标。
Apache License 2.0,详见 LICENSE。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429