burrow+telegraf+Grafana实现Kafka Consumer Lag监控

kafka监控工具比较多,有kafka monitor,kafka manager, kafka eagle,KafkaOffsetMonitor 等,但是监控consumer lag最好用的当属burrow.

Burrow是linkedin开源的一个监控Apache Kafka的工具,burrow可以将消费者滞后检查作为一项服务来对外提供。 它监视所有消费者的承诺偏移量,并根据需要计算消费者的状态,提供HTTP endpoint接口来获取消费者状态,能够监控Consumer消费消息的延迟,从而监控应用的健康状况,并且可以同时监控多个Kafka集群。 通知器可以通过配置电子邮件或HTTP通告进行告警,而无需指定阈值,他完全是基于消费过程的动态评估。同时可以监控offset提交到broker,zk两种方式,还可以作storm的消费监控,报警支持http, email想要扩展个自己的短信报警什么的也是超简单。

第一步安装采集器burrow

下载tar包https://github.com/linkedin/Burrow/releases

解压后修改config/burrow.toml配置文件

主要是修改日志文件地址和增加kafka集群配置,同时可以增加zookeeper的模式。

进入到解压目录执行 nohup burrow -config-dir=config/ & 就直接启动了

验证是否成功可以访问ip/v3/kafka 可以获取到监控的kafka集群信息如下

{"error":false,"message":"cluster list returned","clusters":["applog","order"],"request":{"url":"/v3/kafka","host":"bigdata"}}

ip/v3/kafka/applog/consumer/buryPoint/status 可以获取集群applog consumer为buryPoint的信息

{"error":false,"message":"consumer status returned","status":{"cluster":"applog","group":"buryPoint","status":"OK","complete":1,"partitions":[],"partition_count":32,"maxlag":{"topic":"burypoint","partition":16,"owner":"","client_id":"","status":"OK","start":{"offset":1197540889,"timestamp":1568940322677,"lag":0},"end":{"offset":1197762297,"timestamp":1568941162597,"lag":0},"current_lag":16477,"complete":1},"totallag":527124},"request":{"url":"/v3/kafka/applog/consumer/buryPoint/status","host":"bigdata"}}

其他接口信息如下

第二步安装数据收集器telegraf

有一些工具可以将burrow提供的http数据收集到influxdb或者promethues.

我使用LInkedin开源的telegraf 完成这个操作。

https://portal.influxdata.com/downloads/ 寻找适合自己机器的包

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_linux_amd64.tar.gz
tar xf telegraf-1.12.1_linux_amd64.tar.gz

网上很多通过rpm安装也是可以的,这里通过tar包的方式

主要是修改etc/telegraf/telegraf.conf 这个配置文件  ,增加input和output

数据是写入influxdb,所以先在influxdb建好库,这里库名是telegraf

启动nohup usr/bin/telegraf --config etc/telegraf/telegraf.conf &

第三步配置Grafana

先在grafana配置influxdb数据源

然后导入grafana模板配置,页面显示可以根据需要增删图表

模板下载地址https://grafana.com/grafana/dashboards/10207

参考文档:

Telegraf+Influxdb+Grafana构建监控平台

Kafka消费积压Lag监控工具Burrow的使用

Kafka监控组件大全

burrow配置项和api介绍

Telegraf Plugin: Burrow

Burrowwiki

原文地址:https://www.cnblogs.com/createweb/p/11556655.html

时间: 2024-11-10 18:21:52

burrow+telegraf+Grafana实现Kafka Consumer Lag监控的相关文章

Kafka Consumer Lag Monitoring

Sematext Monitoring  是最全面的Kafka监视解决方案之一,可捕获约200个Kafka指标,包括Kafka Broker,Producer和Consumer指标.尽管其中许多指标很有用,但每个人都有一个要监视的特定指标–消费者滞后. 什么是卡夫卡消费者滞后? 卡夫卡消费者滞后指标表明卡夫卡生产者和消费者之间存在多少滞后.人们谈论卡夫卡时,通常指的是卡夫卡经纪人.您可以将Kafka Broker视为Kafka服务器.代理实际上是存储和提供Kafka消息的对象.Kafka生产者是

使用 Python 监控 Kafka Consumer LAG

我在要完成这个需求的时候大概有两个思路. 第一种方法: 我们直接使用 Kafka 提供的 bin 工具,去把我们关心的 lag 值 show 出来然后通过代码处理一下报出来.例如: 我们可以起个远程的 cmd 脚本,定期去执行 kafka-consumer-groups.sh 工具然后通过 awk '{print $1,$2,$5}' 拿到对应的 consumer paritions 和 lag 值,然后使用脚本稍微处理一下该报警的报警,该忽略的忽略. 这个办法很 ok 但是有个不太好的地方是他

Kafka消息系统监控

1.监控目标 当系统可能或处于亚健康状态时及时提醒,预防故障发生 报警提示 2.监控内容 2.1 机器监控 Kafka服务器指标 CPU Load Disk IO Memory 2.2 JVM监控 主要监控JAVA的 GC time(垃圾回收时间),JAVA的垃圾回收机制对性能的影响比较明显 2.3 Kafka系统监控 1.Kafka总体监控 zookeeper上/kafka08/broker/ids目录下节点数量 leader 选举频率 2.Kafka Broker监控 Broker是否存活

[Big Data - Kafka] Kafka设计解析(四):Kafka Consumer解析

High Level Consumer 很多时候,客户程序只是希望从Kafka读取数据,不太关心消息offset的处理.同时也希望提供一些语义,例如同一条消息只被某一个Consumer消费(单播)或被所有Consumer消费(广播).因此,Kafka High Level Consumer提供了一个从Kafka消费数据的高层抽象,从而屏蔽掉其中的细节并提供丰富的语义. Consumer Group High Level Consumer将从某个Partition读取的最后一条消息的offset存

Kafka Consumer应用与高级应用

Kafka Consumer应用与高级应用 PS:本博客仅作学习.总结.交流使用,参考以下博客&资料 1.http://kafka.apache.org/intro.html 2.https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example 3.http://www.cnblogs.com/luotianshuai/p/5206662.html 4.http://www.cnblogs.com/fxj

apache kafka系列之-监控指标

apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 Kafkaserver指标 CPU Load Disk IO Memory 磁盘log.dirs文件夹下数据文件大小,要有定时清除策略 2.2 JVM监控 主要监控JAVA的 GC time(垃圾回收时间).JAVA的垃圾回收机制对性能的影响比較明显 2.3 Kafka系统监控 1.Kafka整体监

【原创】kafka consumer源代码分析

顾名思义,就是kafka的consumer api包. 一.ConsumerConfig.scala Kafka consumer的配置类,除了一些默认值常量及验证参数的方法之外,就是consumer的配置参数了,比如group.id, consumer.id等,详细列表见官网. 二.ConsumerIterator.scala KafkaStream的迭代器类,当stream底层的阻塞队列为空时该iterator会置于阻塞状态.这个迭代器还提供了一个shutdownCommand对象可作为一个

Kafka设计解析(四)- Kafka Consumer设计解析

本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/08/09/KafkaColumn4 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以及适用场景.以及未来版本中对High Level Consumer的重新设计–使用Consumer Coordinator解决Split Brain和Herd等问题. H

Kafka Consumer接口

对于kafka的consumer接口,提供两种版本,   high-level 一种high-level版本,比较简单不用关心offset, 会自动的读zookeeper中该Consumer group的last offset 参考,https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example 不过要注意一些注意事项,对于多个partition和多个consumer 1. 如果consumer比partition