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

Posted

技术标签:

【中文标题】如何监控 Kafka 主题中的消息速率?【英文标题】:How to monitor messages rate in Kafka topics? 【发布时间】:2019-06-07 16:22:39 【问题描述】:

当某个主题的消息率高于或低于平时,我如何收到提醒?

【问题讨论】:

我已经编辑了您的问题,因为要求工具被认为是题外话。 help center 但基本上,您需要在代理和(Java)客户端上启用 JMX,然后您需要一个工具将 JMX 值导出到聚合系统中,如前面提到的 Prometheus,但还有其他选项 【参考方案1】:

Kafka 发出大量指标,可以监控其使用情况和运行状况。这包括传入消息率的指标,请参阅文档中的 Monitoring 部分。

您的用例通常通过处理指标并能够根据用户定义的查询触发警报的工具来实现。

例如,Prometheus 处理得很好。您需要进行设置,以便将来自 Kafka 的指标转发到 Prometheus(使用 https://github.com/prometheus/jmx_exporter)。由于这是一个非常常见的用例,您会在网上找到数百篇描述如何设置它的文章。 JMX 导出器也有 sample configs 用于 Kafka JMX 模式。

一旦指标在 Prometheus 中,您就可以跨代理汇总它们并设置 Alerts。

【讨论】:

以上是关于如何监控 Kafka 主题中的消息速率?的主要内容,如果未能解决你的问题,请参考以下文章

Grafana:如何获取关于 kafka 内部主题的数据?

kafka的基本体系结构

Kafka总结

来自发布/订阅主题的速率限制 GCP 云函数触发器

Clojure 中的速率限制 core.async 通道

关于消息队列速率的解决方案