1. 程式人生 > >Docker KafkaOffsetMonitor 0.4.6安裝與搭建監控

Docker KafkaOffsetMonitor 0.4.6安裝與搭建監控

前言

        近期在公司專案需要到kafka,但發現卻沒有監控,且是安裝docker的kafka,想檢視訊息是否積壓還得進容器檢視。於是整了個這,有點坎坷,不過滿滿的成就。

        目前為止,國內外搜遍了,kafkaOffsetMonitor 都沒發現有docker版本的kafka新版監控的映象,算是個開山吧!大笑

主流kafka監控

  • Kafka Web Conslole

程式執行後,會定時去讀取kafka叢集分割槽的日誌長度,讀取完畢後,連線沒有正常釋放,一段時間後產生大量的socket連線,導致網路堵塞,所以不建議使用。

還有一個是:https://github.com/sheepkiller/kafka-manager-docker
,這兩款不知道是不是我安裝的問題,消費組有時候讀不到,看不到消費。在kafka-manager 上能對kafka做一些分割槽調整的操作,但想看訊息消費的情況不是很方便
  • KafkaOffsetMonitor
這款介面就比較簡單了,但是也有坑,原作者只做到0.21就不繼續做了,後來有人繼續從上面fork開發,才支援了kafka的新版本,但也有坑,專案引用的js與一些圖片,都是線上國外的!!不能連google和不能上網都GG,離開公司後回家偶然發現的。於是我把他們線上引用的資源全都下載下來,自己fork了一版,用的版本是KafkaOffsetMonitor-assembly-0.4.6,並製作了docker。地址:
https://github.com/chenchaoyun0/docker-kafka-offset-monitor
。        kafka新的版本offset儲存在自己的一個topic,不像老版本是存在zookeeper裡面,所以用KafkaOffsetMonitor2.x的版本監控會有問題,根本監控不到資料,所以最好在github上面下載最新的版本自己編譯,注意jdk為1.8版本

搭建步驟

1. 構建本地docker 映象

git clone https://github.com/chenchaoyun0/docker-kafka-offset-monitor.git

進入到目錄,修改docker-build.sh 指令碼,為你自己想要命名的映象,執行docker build指令碼


2. 執行build指令碼

sh docker-build.sh
docker images

就會看到映象構建完成

3. 編寫docker-compose.yml,需要配置環境變數為自己的kafka和zookeeper地址

version: '2'
services:
  kafka-offset-monitor:
    image: 39.105.33.58:5000/kafka-offset-monitor:1.0
    volumes:
     - "./logs/:/u01/app/kafka-offset-monitor/logs/"
    ports:
      - "8086:8086"
    environment:
     ZK_HOSTS: 39.105.33.58:2181
     KAFKA_BROKERS: 39.105.33.58:23310
     REFRESH_SECENDS: 10
     RETAIN_DAYS: 2

4. 啟動容器

docker-compose up -d

5. 檢視啟動日誌,本地logs也有個日誌

docker-compose logs -f

6. 訪問 http://IP:8086 即可看到黑底色的監控頁面啦


點選 消費組名稱即可看到消費詳情


點選topic 名稱可檢視訊息當前消費與寫入的速度


總結

       待補充