grafana实现kafka监控可视化
先附上部分百度神搜结果:
展示topic列表:
./kafka-topics.sh --list --zookeeper 172.18.153.12:2188
查看消费情况:
./kafka-consumer-groups.sh --describe --bootstrap-server 127.0.0.1:9092 --group groupname
对于新手来说,无疑是成吨的学习成本带来的压力,而且每次排查问题都要输入这么一大串指令,脑子有点不太够的样子。此时本次重点华丽丽地登场了。
接下来详细分析每一个指标的配置明细及功用。
Broker
缓存代理,Kafka集群中的一台或多台服务器统称broker,可以看到示例集群有3个broker,也就是集群由三台服务器节点组成。
脚本: kafka_brokers{instance="$instance"}
Topic
- Topic是Kafka数据写入操作的基本单元,可以指定副本
- 一个Topic包含一个或多个Partition,建Topic的时候可以手动指定Partition个数,个数与服务器个数相当
- 每条消息属于且仅属于一个Topic
- Producer发布数据时,必须指定将该消息发布到哪个Topic
- Consumer订阅消息时,也必须指定订阅哪个Topic的信息
如下展示每个topic的分区数。
脚本: kafka_topic_partitions{instance=“instance",topic="instance",topic="topic”}
如下展示每个topic的副本情况。
副本数: sum(kafka_topic_partition_replicas{instance=“instance",topic="instance",topic="topic”})by(partition)
可用副本数: sum(kafka_topic_partition_in_sync_replica{instance=“instance",topic="instance",topic="topic”})by(partition)
失效副本数: sum(kafka_topic_partition_under_replicated_partition{instance=“instance",topic="instance",topic="topic”})by(partition)
消息
已生产消息: sum(kafka_topic_partition_current_offset{instance=“instance",job="center_kafka",topic="instance",job="centerkafka",topic="topic”})by(topic)
未消费消息: sum(kafka_consumergroup_lag{instance=“instance",topic=~"instance",topic= "topic”}) by (consumergroup, topic)
最后,江湖一波,轻动您的小指头,关注、点赞加转发一条龙,如需模板私发邮箱,不日送上。