如何通过 JMX 访问 Kafka REST 代理指标
Posted
技术标签:
【中文标题】如何通过 JMX 访问 Kafka REST 代理指标【英文标题】:How to access to Kafka rest proxy metrics through JMX 【发布时间】:2020-06-24 13:08:58 【问题描述】:我正在尝试从其余服务器构建自己的指标收集器,我需要通过 JMX 访问各种指标,以收集数据、抓取和公开 jmx 服务器的 mBean。 像 Prometheus JMX 导出器。
【问题讨论】:
您能否解释一下您为什么不使用 Prometheus 或 Jolokia?另外,这个问题与任何其他 Java 进程有何不同? 【参考方案1】:您可以使用 jconsole 设置 kafka rest 代理的本地/远程监控。
# local monitoring
$ jconsole <process-id-of-kafka-rest-proxy>
# remote monitoring
$ jconsole <host:port>
参考:https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html
【讨论】:
【参考方案2】:在启动之前通过导出变量来公开 JMX
export JMX_PORT=9001 # for example
kafka-rest-start config.properties
https://github.com/confluentinc/kafka-rest/blob/v5.4.1/bin/kafka-rest-run-class#L52
同样,不要创建自己的非行业标准解决方案,只需使用 Prometheus JMX 导出器或 Jolokia JMX 代理并将其刮成您感兴趣的格式
【讨论】:
以上是关于如何通过 JMX 访问 Kafka REST 代理指标的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 JMX 将 Spring Boot 应用程序中的 Kafka 指标公开给 Prometheus?
如何通过 JSONP 或 HTTP 代理访问 Rally REST API 的 JSON 响应?
有没有办法配置要使用 jmx_exporter/prometheus 捕获的 kafka-connect jmx 指标?