如何通过 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 指标?

如何监控 Kafka 主题中的消息速率?

如何使用 JMX 导出器将 JMX 指标从 Kafka 消费者推送到普罗米修斯

kafka - 正确激活JMX的姿势