prometheusStatsHttpPort不生效

用独立BK安装包运行BK,配置prometheusStatsHttpPort后,获取监控数据不成功,配置的端口并没有生效,用pulsar自带BK启动,配置prometheusStatsHttpPort可正常获取BK监控数据,请问现状是这样吗?
如:http://IP:8000/metrics这样获取BK监控数据,独立包运行不生效,端口没正常启动,pulsar自带的BK可以获取监控数据

Hi Zeng, 我测试的结论是独立安装,监控指标获取也是正常的。

环境:使用相同的 4.14.2 版本,开启 Prometheus 指标配置,独立启动 BookKeeper 。
测试:http://127.0.0.1:8000/metrics

配置更改部分:

# These configs are used when using `PrometheusMetricsProvider`.
statsProviderClass=org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider

# default bind address for Prometheus metrics exporter
prometheusStatsHttpAddress=0.0.0.0

# default port for Prometheus metrics exporter
prometheusStatsHttpPort=8000

# latency stats rollover interval, in seconds
prometheusStatsLatencyRolloverSeconds=60

指标页面访问截图:

可复现步骤:

  1. 下载 https://archive.apache.org/dist/bookkeeper/bookkeeper-4.14.2/
  2. 安装好 Zookeeper,单节点即可
  3. 开启监控指标暴露的相关配置,如上
  4. 【可选】配置 advertisedAddress=127.0.0.1 ,因为本机网络环境复杂,可指定暴露的 IP 地址
  5. 初始化元数据:bin/bookkeeper shell metaformat
  6. 启动单节点:bin/bookkeeper bookie
  7. 访问 8000 端口测试

另外注意一点:低版本 pulsar 内嵌的 Zookeeper 监控端口也是 8000,这和BookKeeper 默认也是 8000 端口是冲突的,建议修改 BookKeeper 的监控端口,或使用较新版 Pulsar。
参考:Monitoring