[Kafka 基础]-- 安装 kafka-manager 监控

一、Kafka 监控工具介绍

       目前还没有一款公认比较优秀的 Kafka 监控工具,各有各的好,我们可以针对自己需要去选择,但是如果你是 Kafka 集群运维操作人员,还是推荐先用 Kafka Manager 来做监控。

1.Kafka Manager

  • 雅虎公司开源的免费监控框架
  • Scala 编写的
  • 国内外最受欢迎的、社区非常活跃
  • 功能非常齐全且 UI 界面可执行一些简单的集群管理操作

2.Burrow

  • 2017 年开源的免费监控框架
  • Go 编写的
  • 专门监控消费者信息
  • 部署不方便、社区不太活跃
  • 无 UI 界面,不方便运维操作

3.Kafka Monitor

  • 用于 Kafka 集群系统性测试
  • Kafka 社区团队人员编写的免费监控框架,质量有保障
  • 社区不太活跃

4.Kafka Offset Monitor

  • 免费的监控框架
  • 监控消费者位移
  • UI 界面非常简洁、美观漂亮
  • 国内受欢迎、现在社区不活跃了

5.Kafka Eagle

  • 中国人开源的免费监控框架
  • Java 编写
  • 部署方便、社区活跃也不高、维护的人少
  • UI 界面很简洁、美观,可执行一些简单的集群管理操作、还有监控告警

6.Confluent Control Center

  • 商业收费
  • 功能最齐全
  • 专业
     

二、安装和部署

1、环境准备
centos 7、oracle jdk-1.8.45、scala-2.11.8、kafka-manager-2.0.0.0(支持 kafka-2.2.0)

2、安装
2.1 下载&解压
由于官方未提供编译好的二进制包,所以需要用户自己编译。但是,不用担心,因为已经有大佬编译好了。
二进制包(已经编译好)https://blog.wolfogre.com/posts/kafka-manager-download/

$ cd /opt/soft
$ wget https://github.com/wolfogre/kafka-manager-docker/releases/download/2.0.0.0/kafka-manager-2.0.0.0.zip
$ unzip kafka-manager-2.0.0.0.zip

2.2 配置
修改配置:conf/application.conf ,需要修改的地方如下

  • play.http.session.maxAge="365d"
  • kafka-manager.zkhosts="zkhost1:2181,zkhost2:2181"
  • basicAuthentication.enabled=true
  • basicAuthentication.username="admin"
  • basicAuthentication.password="input_your_password"

2.3 启动
指定配置文件位置和启动端口号,默认为9000

./bin/kafka-manager  -Dconfig.file=conf/application.conf  -Dhttp.port=6666 >> logs/kafka-manager.logs &

执行 start 命令后,检查 kafka-manager 是否已经启动。

如果已经启动,先使用 IE 浏览器(其他浏览器也可以)访问。

http://172.16.5.128:6666

【可选项】也可以自己在 kafka-manager/bin 下创建重启的脚本:private-restart.sh

############################################################
#
# Notice: start the kafka-manager server, if the server is started ,we don't start else do.
#
############################################################

# 1  kafka dir
kafka_home=/opt/soft/kafka-manager/
kafka_http_port=6666
kafka_log=${kafka_home}/logs/kafka-manager.logs
kafka_restart_log=${kafka_home}/logs/kafka-manager-restart.logs

# 2 get the pid of  kafka-manager process 
pid_kafka_manager=`ps -ef |grep kafka-manager|grep http.port=6666|awk '{print $2}'`

echo "[$(date '+%Y-%m-%d %H:%M:%S')] ----- kafka manager is alive  , the pid is [${pid_kafka_manager}] . -----">>${kafka_restart_log}
# 3 judgement the pid  alive or not

if [ ! -n "$pid_kafka_manager" ]
then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ----- kafka manager is died out ,we will restart it . -----" >> ${kafka_restart_log}
${kafka_home}/bin/kafka-manager -Dconfig.file=${kafka_home}/conf/application.conf  -Dhttp.port=${kafka_http_port} >> ${kafka_log} &
new_pid_kafka_manager=`ps -ef |grep kafka-manager|grep http.port=7778|awk '{print $2}'`
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ----- kafka manager is alive all blood , the pid is [${new_pid_kafka_manager}] . -----">>${kafka_restart_log}
fi

并添加定时检查是否还 alive

$ crontab -e

*/5 * * * * sh /opt/soft/kafka-manager/bin/private-restart.sh

三、使用

按照 github 上, kafka-manager 指南操作即可:https://github.com/yahoo/kafka-manager

  1. 添加 kafka 集群
  2. 创建、删除和添加 kafka topic 的 partitions
  3. 查看 topic list
  4. 查看 consume topic 的延迟状态
  5. 查看 kafka group 的 topic
发布了508 篇原创文章 · 获赞 613 · 访问量 201万+

猜你喜欢

转载自blog.csdn.net/high2011/article/details/103033884