Prometheus Exporter (二十五)HAProxy Exporter
本文已经收录在 Prometheus 合集 Prometheus 都可以采集那些指标?-- 常用 Exporter 合集 中。
HAProxy Exporter 是一个简单的服务,它抓取 HAProxy 统计数据并通过 HTTP 导出它们供 Prometheus 使用。官方地址是 https://github.com/prometheus/haproxy_exporter ,当前最新版本是 v0.13.0 ,发布时间是 2021 年 11 月 26 日。
自 HAProxy 2.0.0 以来,他的官方源代码包括一个 Prometheus 导出模块,它可以在构建期间用一个标志构建到二进制文件中,并提供一个不需要导出器的 Prometheus 端点。
安装运行
HAProxy Exporter 运行也非常简单,直接执行二进制文件就可以。
或者使用 Docker 容器来运行
使用
如果你设置了 stats uri /baz
,那么可以使用 --haproxy.scrape-uri
参数给 HAProxy 统计端口指定自定义的 URL 。
或者获取远端的 HAProxy ,
需要注意的是,这个参数最后的 :csv
是必须的,整个参数的值需要用双引号引起来。
如果这个统计接口有 basic auth,那么可以使用如下的方式来指定
也可以在获取指标的时候使用 HTTPS 的 URL ,默认情况下是启用证书验证,可以通过 --no-haproxy.ssl-verify
参数关掉证书验证。
除了使用 HTTP 的方式获取,还可以使用 stats socket 。在 HAProxy 中启用 stats socket 如下:
配置的命令如下:
HAProxy Exporter 也支持 TLS 和 basic authentication ,使用 --web.config.file
参数,格式描述在 exporter-toolkit 仓库里。
HAProxy 构建监控插件
在 HAProxy 2.0.0 版本中,包含一个 Prometheus 监控数据导出模块,可以在构建时将其构建到二进制文件中。这是通过传递参数来实现的,这个参数取决于 HAProxy 的版本:
在 HAProxy 2.0.x - 2.3.x ,使用 EXTRA_OBJS 参数来进行 make 构建:
在 HAProxy 2.4.x 版本 ,使用 USE_PROMEX
参数来进行 make 构建:
构建成功以后,接可以在 HAProxy 的配置文件 haproxy.cfg 中使用下面的这个来配置打开监控数据导出了
小结
HAProxy 提供了 2 种暴露监控数据的方式,采用哪一种根据实际情况来进行选择。
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/28a2deebace215115a35a5246】。未经作者许可,禁止转载。
评论