
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 和基本认证配置文件路径(格式参考 https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md%EF%BC%89 | --web.config.file=web-config.yml |
1. HTTP Stats URL 抓取
若 HAProxy stats 接口路径为 /baz(非默认):
bashhaproxy_exporter --haproxy.scrape-uri="http://localhost:5000/baz?stats;csv"
抓取远程 HAProxy 实例:
bashhaproxy_exporter --haproxy.scrape-uri="http://haproxy.example.com/haproxy?stats;csv"
2. 带基本认证的 Stats 接口
若 stats 接口受基本认证保护,可在 URI 中包含凭据:
bashhaproxy_exporter --haproxy.scrape-uri="http://user:pass@haproxy.example.com/haproxy?stats;csv"
为避免凭据暴露在进程列表中,可通过文件传递参数:
bashecho '--haproxy.scrape-uri=http://user:pass@haproxy.example.com/haproxy?stats;csv' > args haproxy_exporter @args
3. HTTPS 抓取
抓取 HTTPS 接口,禁用证书验证(仅测试环境使用):
bashhaproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri="https://haproxy.example.com/haproxy?stats;csv"
4. 通过代理抓取远程 HAProxy
设置环境变量并启用代理支持:
bashexport HTTP_PROXY="http://proxy:3128" haproxy_exporter --http.proxy-from-env --haproxy.scrape-uri="http://haproxy.example.com/haproxy?stats;csv"
5. Unix Socket 抓取
若 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="http://user:pass@haproxy.example.com/haproxy?stats;csv"
注:容器默认暴露 9101 端口,需映射至主机端口以提供 Prometheus 采集。
导出器支持通过配置文件启用 TLS 和基本认证,需通过 --web.config.file 指定配置文件路径,配置格式参考 https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md%E3%80%82
HAProxy 2.0.0 及以上版本内置 Prometheus 导出模块,2.4 及以上版本可通过构建时添加 USE_PROMEX=1 标志启用:
bashmake TARGET=linux-glibc USE_PROMEX=1
预构建版本(如 https://hub.docker.com/_/haproxy%EF%BC%89%E9%80%9A%E5%B8%B8%E5%B7%B2%E9%BB%98%E8%AE%A4%E5%90%AF%E7%94%A8%E6%AD%A4%E5%8A%9F%E8%83%BD%E3%80%82
在 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,详见 https://github.com/prometheus/haproxy_exporter/blob/main/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务