目录
Burrow 是一个专为 Apache Kafka 设计的监控辅助解决方案,提供消费者延迟检查即服务等功能,无需指定阈值。它是一个旨在监控所有消费者已提交偏移量的工具,届时它将按需计算这些消费者的状态。
换句话说,这是一种通过评估消费者在滑动窗口内的行为来确定消费者状态的方法。这可以帮助您确定他们是否正在提交偏移量、偏移量提交的数量是否在增加、延迟是否在增加等等。
然后将提供一个 HTTP 端点,用于按需请求状态以及任何其他相关的 Kafka 集群信息。还有许多可配置的通知器,可以通过电子邮件或 HTTP 调用向其他服务发送状态报告,从而保证您始终可以访问最准确的信息。
为什么使用 Telegraf 插件来监控 Burrow?
监控您的 Apache Kafka 基础设施非常重要,因为它可能是您应用程序数据的核心管道,因此有助于确保 100% 的可用性。Burrow Telegraf 插件可以通过监控消费者是否跟上消息来帮助实现这一点。它通过让您了解消费者正在提交的偏移量和 broker 的状态来实现这一点。
您可以将这些指标收集到您的 InfluxDB 实例中,并根据您设置的阈值构建警报,以帮助维护应用程序堆栈的这个关键部分。
如何使用 Burrow Telegraf 插件监控 Kafka 消费者
Burrow Telegraf 插件配置允许您设置响应时间、限制并发连接、过滤集群、消费者组和主题。
要在您自己的环境中正确配置 Burrow,请使用以下命令。请注意,您需要将默认值替换为您自己基础设施的相关信息。所有默认值都在适当的位置注明。
[[inputs.burrow]] ## Burrow API endpoints in format "schema://host:port". ## Default is "http://localhost:8000". servers = ["http://localhost:8000"] ## Override Burrow API prefix. ## Useful when Burrow is behind reverse-proxy. # api_prefix = "/v3/kafka" ## Maximum time to receive response. # response_timeout = "5s" ## Limit per-server concurrent connections. ## Useful in case of large number of topics or consumer groups. # concurrent_connections = 20 ## Filter clusters, default is no filtering. ## Values can be specified as glob patterns. # clusters_include = [] # clusters_exclude = [] ## Filter consumer groups, default is no filtering. ## Values can be specified as glob patterns. # groups_include = [] # groups_exclude = [] ## Filter topics, default is no filtering. ## Values can be specified as glob patterns. # topics_include = [] # topics_exclude = [] ## Credentials for basic HTTP authentication. # username = "" # password = "" ## Optional SSL config # ssl_ca = "/etc/telegraf/ca.pem" # ssl_cert = "/etc/telegraf/cert.pem" # ssl_key = "/etc/telegraf/key.pem" # insecure_skip_verify = false
还有许多组和分区状态映射可供您选择,包括以下这些
- 正常 = 1
- 未找到 = 2
- 警告 = 3
- 错误 = 4
- 停止 = 5
用于监控的关键 Burrow 指标
您应该主动监控的一些重要 Burrow 指标包括
- 对于
burrow_group
(每个消费者组一个事件)和burrow_partition
(每个主题分区一个事件)状态
状态码
分区计数
偏移量
总延迟
延迟
burrow_topic
(每个主题偏移量一个事件)偏移量
有关更多信息,请查阅文档。