[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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章