0


Prometheus实战教程:监控Kafka消息

今天我们使用prometheus+Grafana+kafka_exporter+kafka实现监控Kafka运行状态。

kafka_exporter:采集kafka各项指标数据

prometheus:获取kafka_exporter数据

Grafana:展示prometheus采集的数据

如何使用prometheus和Grafana监控Kafka运行状态呢,请君继续往下看。

一、Kafka简介

(1)Kafka基本概念

   Kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景。

(2)Kafka的特性

  • 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒
  • 可扩展性:kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
  • 高并发:支持数千个客户端同时读写

(3)Kafka场景应用

  • 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。
  • 消息系统:解耦和生产者和消费者、缓存消息等。
  • 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。
  • 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
  • 流式处理:比如spark streaming和storm
  • 事件源

二、部署Kafka

(1)安装zookeeper

# 安装jdk
# .....
# 下载
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz
# 解压
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz
cd ../apache-zookeeper-3.6.4-bin/conf
cp zoo_sample.cfg zoo.cfg
# 修改配置文件
vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/prometheus/apache-zookeeper-3.7.0-bin
clientPort=2181

(2)zookeeper启动

# 启动
./zkServer.sh start
#查看状态
./zkServer.sh status

(3)安装kafka

# 解压
tar -zxvf kafka_2.13-2.8.0.tgz
cd /kafka_2.13-2.8.0/config
# 修改配置文件
vim  server.properties
listeners=PLAINTEXT://:9092
log.dirs=/home/prometheus/kafka_2.13-2.8.0/logs
zookeeper.connect=localhost:2181

(4)Kafka启动

# 启动
./kafka-server-start.sh  ../config/server.properties 
# 创建topic
 ./kafka-topics.sh --create --bootstrap-server 192.168.52.129:9092 --replication-factor 3 --partitions 1 --topic test-topic

三、部署kafka_exporter

(1)下载

wget https://github.com/danielqsj/kafka_exporter/releases/download/v1.2.0/kafka_exporter-1.2.0.linux-amd64.tar.gz

(2)解压


[prometheus@192 ~]$ tar -zxvf kafka_exporter-1.2.0.linux-amd64.tar.gz 
kafka_exporter-1.2.0.linux-amd64/
kafka_exporter-1.2.0.linux-amd64/LICENSE
kafka_exporter-1.2.0.linux-amd64/kafka_exporter

(3)启动

./kafka_exporter --kafka.server=192.168.52.129:9092 &

四、集成Prometheus

在prometheus.yml配置文件添加以下配置

scrape_configs:
  - job_name: "kafka"
    static_configs:
    - targets: ['192.168.52.129:9308']

五、集成Grafana

使用监控模板:

https://grafana.com/grafana/dashboards/7589

学习更多内容,请关注IT运维先森微信公众号,将为你分享更多技术内容。


本文转载自: https://blog.csdn.net/guting18893110463/article/details/129902416
版权归原作者 IT运维先森 所有, 如有侵权,请联系我们删除。

“Prometheus实战教程:监控Kafka消息”的评论:

还没有评论