一、Kafka监控的几个指标

1、lag:多少消息没有消费 lag=logsize-offset

2、logsize:Kafka存的消息总数 
3、offset:已经消费的消息
Kafka管理工具 介绍: 
 

二、查看zookeeper配置

cat /home/app/zookeeper/zookeeper/conf/zoo.cfg | egrep -v "^$|^#"
clientPort=2181
 

三、查看kafka配置

cat /home/app/kafka/kafka/config/server.properties | egrep -v "^$|^#"
port=9092
host.name=192.168.38.87
zookeeper.connect=192.168.38.87:2181,192.168.38.88:2181
 

四、查看kafka的group name

cd /home/app/zookeeper/zookeeper/bin
./zkCli.sh -server 192.168.38.87:2181
ls /consumers/
lijieGroup
quit
 

五、查看kafka的topic_name

/home/app/kafka/kafka/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group=lijieGroup --zookeeper=192.168.38.87:2181
 

六、修改zabbix配置文件

因为zabbix用户不能调用kafka的脚本,需要root用户启动zabbix_agent

vim /opt/zabbix/zabbix_agentd.conf
AllowRoot=1
User=root
Include=/opt/zabbix/zabbix_agentd.conf.d/ vim /opt/zabbix/zabbix_agentd.conf.d/kafka_status.conf
UserParameter=kafka.lag[*],/home/zabbix_scripts/kafka_mon.sh $1 $2 lag
UserParameter=kafka.offset[*],/home/zabbix_scripts/kafka_mon.sh $1 $2 offset
UserParameter=kafka.logsize[*],/home/zabbix_scripts/kafka_mon.sh $1 $2 logsize chown -R zabbix:zabbix /opt/zabbix/zabbix_agentd.conf.d/kafka_status.conf
chmod -R 777 /opt/zabbix/zabbix_agentd.conf.d/kafka_status.conf
 

七、创建监控脚本

mkdir -pv /home/zabbix_scripts/
vim /home/zabbix_scripts/kafka_mon.sh
#!/bin/bash

kafka_ip="127.0.0.1"
kafka_port=2181
topic_name=$1
group_id=$2
pn=$3
/usr/local/kafka_2.11-0.11.0.0/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic=$topic_name --group=$group_id --zookeeper=$kafka_ip:$kafka_port | grep -v Offset > /tmp/kafka-tp-${topic_name}-${group_id}.info Offset=0
logSize=0
Lag=0
while read line
do
Offset=$((${Offset}+`echo $line |awk '{print $4}'`))
logSize=$((${logSize}+`echo $line |awk '{print $5}'`))
Lag=$(($Lag+`echo $line |awk '{print $6}'`))
done </tmp/kafka-tp-${topic_name}-${group_id}.info case $pn in
offset|Offset)
echo $Offset
;;
logsize|logSize)
echo $logSize
;; lag|Lag)
echo $Lag
;;
*)
echo Error
;;
esac

  

 

  

 
 

八、给脚本和对应文件权限

chown -R zabbix:zabbix /home/zabbix_scripts/kafka_mon.sh
chmod -R 777 /home/zabbix_scripts/kafka_mon.sh touch /tmp/kafka-tp-RouterOnOfflineStateChange-lijieGroup.info
chmod 777 /tmp/kafka-tp-RouterOnOfflineStateChange-lijieGroup.info
chown zabbix:zabbix /tmp/kafka-tp-RouterOnOfflineStateChange-lijieGroup.info chmod 777  /home/app/kafka/kafka/bin/kafka-run-class.sh
 

九、重启zabbix

/etc/init.d/zabbix-agent restart
 

十、监控上增加3个键值

kafka.offset[RouterOnOfflineStateChange,lijieGroup]
kafka.logsize[RouterOnOfflineStateChange,lijieGroup]
kafka.lag[RouterOnOfflineStateChange,lijieGroup]

zabbix监控kafka消费的更多相关文章

  1. zabbix配合脚本监控Kafka

    简介: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据.Kafka如下特性,受到诸多公司的青睐. 1.高吞吐量:即使是非常普通的硬件Kafka也可以支持 ...

  2. zabbix监控rabbitmq队列消费状态

    使用rabbitmqctl 管理 mq -n 指定节点 [root@logging-master zabbix]# rabbitmqctl -n rabbit@localhost list_queue ...

  3. Kafka 消息监控 - Kafka Eagle

    1.概述 在开发工作当中,消费 Kafka 集群中的消息时,数据的变动是我们所关心的,当业务并不复杂的前提下,我们可以使用 Kafka 提供的命令工具,配合 Zookeeper 客户端工具,可以很方便 ...

  4. Go语言学习之12 etcd、contex、kafka消费实例、logagent

    本节内容:    1. etcd介绍与使用    2. ElastcSearch介绍与使用 1. etcd介绍与使用    概念:高可用的分布式key-value存储,可以使用配置共享和服务发现    ...

  5. KafkaOffsetMonitor监控kafka

    KafkaOffsetMonitor监控kafka 1. KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便.源项目G ...

  6. Kafka设计解析(十三)Kafka消费组(consumer group)

    转载自 huxihx,原文链接 Kafka消费组(consumer group) 一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka ...

  7. 使用kafka-eagle监控Kafka

    # 监控kafka集群,开启监控趋势图使用 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,k ...

  8. 涨姿势了解一下Kafka消费位移可好?

    摘要:Kafka中的位移是个极其重要的概念,因为数据一致性.准确性是一个很重要的语义,我们都不希望消息重复消费或者丢失.而位移就是控制消费进度的大佬.本文就详细聊聊kafka消费位移的那些事,包括: ...

  9. Kafka 消费迟滞监控工具 Burrow

    Kafka 官方对于自身的 LAG 监控并没有太好的方法,虽然Kafka broker 自带有 kafka-topic.sh, kafka-consumer-groups.sh, kafka-cons ...

随机推荐

  1. 瑞芯微ROCK960 RK3399烧录image后扩容rootfs

    问题描述: RK3399开发板烧录官网提供的ubuntu镜像: Ubuntu 16.04 Server arm64(下载地址:https://www.96boards.org/documentatio ...

  2. CCF201409-2 画图 java(100分)

    试题编号: 201409-2 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐 ...

  3. 猎豹CEO傅盛:与周鸿祎、雷军、马化腾、马云的的相爱相杀

    百度百科:傅盛,男,1978年3月6日出生在江西景德镇,毕业于山东工商学院信息管理与信息系统专业. 2003年加入3721公司.2005年加入奇虎360,带领团队打造了安全类软件360安全卫士.200 ...

  4. 转载 - Struts2 拦截器详细配置过程

    出处:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html Struts2 拦截器详细配置过程 1:所有拦截器的超级接口Inter ...

  5. vue.js通讯----父亲拿儿子的数据

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Neo4j 的一些使用心得

    由对图数据的处理需求,看到了图数据库(GraphDataBase)这种比较新的数据库模式,并且通过比较发现用的相对多的要属Neo4j了,现在来看网上对Neo4j的介绍还比较少,内容主要来源于三个地方: ...

  7. jquery ajax报Uncaught TypeError :Illegal invocation

    使用jquery ajax异步提交的时候报Uncaught TypeError :Illegal invocation错误,报错信息如图: 上网查了一下jquery的这个错误,导致这个错误的原因有俩点 ...

  8. 使用ajax,后台传回的数据处理

    使用ajax,后台传到前台的是json数据,但这只是一个字符串的形式,需要进行转换为对象 转换后再使用$.each()方法进行遍历 使用alert(typeof  msg) ;  可以查看msg的类型 ...

  9. 又见GCD

    Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c.   Input ...

  10. vue2的简单Popup (Confirm,Alert)组件

    github:  https://github.com/longfei59418888/vui   (记得给一个 start,以后有一起讨论,各种好组件) demo :http://60.205.20 ...