成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文聊透如何監控 Kafka 服務

云計算 Kafka
今天我們來講解幾款 Kafka 常用可視化監控工具,主要有以下幾個 「JConsole」、「Kafka Manager」、「Kafka Offset Explorer」、「KafkaOffsetMonitor」、「LogiKM」。

大家好,我是 華仔, 又跟大家見面了。

對于 Kafka 來說,監控始終是一個難題。目前,沒有一款免費監控軟件能夠滿足大部分用戶需求,這些監控軟件各有特色但都不夠全面。

今天我們來講解幾款 Kafka 常用可視化監控工具,主要有以下幾個 「JConsole」、「Kafka Manager」、「Kafka Offset Explorer」、「KafkaOffsetMonitor」、「LogiKM」。

這里說明下,第一個「Jconsole」是基于 JMX 的可視化監控管理工具,安裝好 JDK 之后,Java 就提供了 JConsole 客戶端工具,利用它可以監控 Kafka 的各項指標。其他幾個都是專門用來 Kafka 集群管理與監控的。

下面分別介紹下這幾款監控工具的使用。

一、JConsole

這里先簡單的介紹一下 JMX,全稱:Java Manangement Extensions。JMX 可以管理、監控正在運行中的 Java 程序,常用來管理「線程」、「內存」、「日志Level」、「服務重啟」、「系統環境」等,由于 kafka 底層也是 基于 Java,所以也可以使用 JMX 標準來管理和監控 Kafka。

JConsole 是一種基于 JMX 的可視化監控和管理工具,從 Java 5 開始被引入, 用來監控 VM,總體來說, 它是社區自帶的一個小工具,對于一般簡單的監控場景,它還能應付,但是它畢竟功能有限,復雜的監控整體解決方案,還是要依靠監控框架。

  1. 修改 kakfa-server-start.sh 腳本的 JXM_PORT 配置,如下圖:
export JMX_PORT="9999"

圖片

  1. 這里我們直接在 windows 上啟動 JConsole,在 CMD 命令行中輸入 JConsole 并回車, 如下圖:

圖片

此時會調起 JConsole 的啟動界面。

圖片

當彈出 "安全連接失敗" 提示框,選擇 "不安全的連接" 按鈕, 進入 JConsole 監控的主界面, 如下圖所示:

圖片

圖片

圖片

圖片

二、KafkaManager

Kafka Manager 是 yahoo 在 2015 年開源的一款 Kafka 監控軟件,底層使用 Scala 語言編寫,用來管理和監控 Kafka 集群。

這款軟件是眾多 Kafka 監控軟件中的翹楚,無論是界面展示內容的豐富程度,還是管理集群功能的全面性,Kafka Manager 都數一數二。

目前 Kafka Manager 已經支持監控新版本 Consumer,如果用戶在使用 Kafka Manager 時無法看到新版本的 Consumer Group  信息,那么就需要檢查一下是否使用了過舊版本的 Kafka Manager。

這個管理工具可以很容易地發現分布在集群中的哪些 topic 分布不均勻,或者是分區在整個集群分布不均勻的的情況。

它支持管理多個集群、選擇副本、副本重新分配以及創建 Topic。同時,這個管理工具也是一個非常好的可以快速瀏覽這個集群的工具,有如下功能:

  1. 管理多個kafka集群。
  2. 便捷的檢查kafka集群狀態(topics,brokers,備份分布情況,分區分布情況)。
  3. 選擇你要運行的副本。
  4. 基于當前分區狀況進行。
  5. 可以選擇topic配置并創建topic(0.8.1.1和0.8.2的配置不同)。
  6. 刪除topic(只支持0.8.2以上的版本并且要在broker配置中設置delete.topic.enable=true)。
  7. Topic list會指明哪些topic被刪除(在0.8.2以上版本適用)。
  8. 為已存在的topic增加分區。
  9. 為已存在的topic更新配置。
  10. 在多個topic上批量重分區。
  11. 在多個topic上批量重分區(可選partition broker位置)。

kafka-manager 項目地址:https://github.com/yahoo/kafka-manager

本文我們使用版本:kafka-manager-3.0.0.5.zip,項目已改名位 CMAK,其安裝和配置非常簡單,可以按照下面的步驟配置 Kafka Manager。

1、在啟動 Kafka 集群的命令腳本中,增加 JMX 的相關參數,否則無法使用客戶端工具管理和監控 Kafka 集群。這里我們以本地虛擬機為例。

2、修改 Kafka-run-class.sh 文件,找到 JMX settings 的配置位置,增加 JMX Server 的配置信息。

#此處可以改為自己的hostname
-Djava.rmi.server.hostname=LAPTOP-3B77RHGG

圖片

3、修改 kakfa-server-start.sh 腳本的 JXM_PORT 配置,如下圖:

export JMX_PORT="9999"

圖片

4、啟動 kafka。

bin/kafka-server-start.sh config/server.properties &

5、下載 Kafka Manager,并解壓到 /home/wangjianghua/src/ 目錄下。

# github地址
https://github.com/yahoo/CMAK
# 下載版本 kafka-manager-3.0.0.5
wget https://github.com/yahoo/CMAK/releases/download/3.0.0.5/cmak-3.0.0.5.zip
# 解壓文件
unzip cmak-3.0.0.5.zip

6、修改配置,進入 Kafka Manager 的 conf 目錄,修改 application.conf 文件。

# 這里是指定 zookeeper 集群的地址,如果有多個,逗號隔開
cmak.zkhosts="localhost:2181"

7、啟動 Kafka Manager 。

# nohup 方式
nohup bin/cmak &
# 指定參數方式啟動  默認啟動端口 9000
nohup bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=9000 &

8、啟動成功后,輸出如下日志信息。

圖片

我們使用 bin/cmak 這個命令來啟動,會使用默認配置文件和端口號9000。

啟動完畢后可以查看端口是否啟動,由于啟動過程需要一段時間,端口起來的時間可能會延后。

從日志中可以看出, Kafka Manager 將運行在 9000 端口上,使用ip地址:端口訪問測試。

圖片

可以看到,此時已經啟動成功了。

如果報如下錯誤,請升級jdk版本到11。

圖片

1、測試 KafkaManager

(1)新建 Cluster

點擊【Cluster】>【Add Cluster】打開如下添加集群的配置界面:

輸入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服務器地址(如localhost:2181),選擇最接近的Kafka版本(如2.7)

注意:如果沒有在 Kafka 中配置過 JMX_PORT,千萬不要選擇第一個復選框。Enable JMX Polling 如果選擇了該復選框,Kafka-manager 可能會無法啟動。

其他 broker 相關的配置可以根據自己需要進行配置,默認情況下,點擊【保存】時,會提示幾個默認值為1的配置錯誤,需要配置為>=2的值。提示如下:

圖片

新建完成后,運行界面如下:

圖片

圖片

圖片

(2)Topic List

圖片

(3)Broker

圖片

2、管理 KafkaManager

(1)創建 Topic

點擊【Topic】>【Create】可以方便的創建并配置主題。如下圖所示:

(2)查看 Topic

點擊【topic】下面的 topic 名稱,即可查看對應 topic 信息。

圖片

三、Kafka Offset Explorer

Kafka Tool 是用來管理和使用 Kafka 集群的圖形應用程序。提供了一種直觀的界面,讓用戶可以快速查看 Kafka 集群中的對象及集群主題中存儲的信息,關鍵功能如下:

  1. 快速查看所有 Kafka 集群,包括 Broker、主題、消費者等。
  2. 查看分區中消息的內容并添加信息消息。
  3. 查看消費者偏移量。
  4. 支持 JSON 、XML 格式輸出。
  5. 添加和刪除主題以及其他管理功能。
  6. 支持自定義插件。

從 Kafka Tool 官網直接下載 Kafka Offset Explorer 2.3.2 版本,下載完成后,直接按照啟動即可。

圖片

添加一個 Kafka Cluster 集群并測試,直接連接測試如下:

圖片

單擊“”進入 Kafka 集群的首頁。

圖片

通過上面圖示我們可以看到 Kafka 集群的 Broker 信息、 Topics 信息以及 Consumers 信息。

現在我們來創建一個 Topic。

1、 點擊  "Browers" 集群中的 "Topics" 節點,并在右邊的界面中單擊。

圖片

按鈕,或者右擊 "Topics" 節點2、 輸入 Topic 名稱、分區數、每個分區的副本數,如下圖所示:3、 單擊 "Add" 按鈕,成功創建 Topic,如下圖所示:

圖片

4、現在我們來用該工具來接收 message2 上的消息數據。,選擇剛創建的主題 message2,并在右邊的窗口選擇 "Data" 選項卡,如下圖所示:

圖片

5、 啟動一個 Kafka Producer 命令行終端,發送一些消息,如下圖所示:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic message2

圖片

6、這里的數據格式默認是 "Byte Array",可以在 Properties 的設置中將其修改為 String,并單擊 "Update" 按鈕,如下圖所示:

7、再次回到 Data 頁面,此時數據將按照正確的格式展示,如下圖所示:

因為中間在終端打了好多回車,所以出來也是空白值。

四、KafkaOffsetMonitor

KafkaOffsetMonitor 是一款 Kafka 開源社區提供的基于 web 界面的管理平臺,可以用來實時監控 Kafka 服務的消費組以及它們所在分區的 Offset,你可以通過瀏覽當前的消費者組,并且每個 Topic 的所有分區的消費情況都可以進行實時監控。

它讓我們很直觀的知道,每個 Partition 的 Message 是否消費掉,有沒有阻塞情況等等。這個 Web 管理平臺保留的Partition、Offset 和它的 Consumer 的相關歷史數據,我們可以通過瀏覽 Web 管理的相關模塊,清楚的知道最近一段時間的消費情況。

該Web管理平臺有以下功能:

  1. 對 Consumer 的消費監控,并列出每個 Consumer 的 Offset 數據。
  2. 保護消費者組列表信息。
  3. 每個 Topic 的所有 Partition 列表包含:Topic、Pid、Offset、LogSize、Lag 以及 Owner 等等。
  4. 瀏覽查閱 Topic 的歷史消費信息。

它的安裝比較簡單,下載鏈接: 鏈接:https://pan.baidu.com/s/1Vfcfvci0g4YwSuYjcSpf0w?pwd=8484 提取碼:8484。

將其放到某個目錄下,然后在該目錄下執行如下命令:

java -cp KafkaOffsetMonitor-assembly-0.3.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--zk localhost:2181 \
--port 8080 \
--refresh 10.seconds \
--retain 1.days

這里簡單介紹下命令的含義:

  1. com.quantifind.kafka.offsetapp.OffsetGetterWeb 是運行的 web 監控類。
  2. --zk 用來指定 zookeeper 的地址。
  3. --port 用來指定 web 運行的端口。
  4. --refresh 、--retain 用來指定頁面數據刷新的時間以及保留數據的時間。

圖片

打開瀏覽器訪問 8080 端口,就可以打開 KafkaOffsetMonitor 的首頁,如下圖所示:

圖片

然后選擇 "Topic List" 選項卡,就可以監控某個 Topic 中的具體消費者消息,如下圖所示:

圖片

五、LogiKM

最后給大家推薦一款非常實用牛逼的監控工具, 它是滴滴開源的號稱 "東半球最簡單易用的一站式云原生實時流數據平臺"。

可以點擊官方進行學習:https://knowstreaming.com。

開發文檔如下:https://doc.knowstreaming.com/product/1-brief-introduction。

責任編輯:姜華 來源: 華仔聊技術
相關推薦

2022-05-15 09:16:28

IPv6IPIP地址

2022-03-10 07:58:12

ReactorNetty運轉架構

2022-02-16 07:32:10

性能代碼編程

2020-03-26 09:18:54

高薪本質因素

2021-05-29 10:11:00

Kafa數據業務

2023-05-04 08:24:52

ChatGPT產品經理工業革命

2019-11-12 15:11:45

秒殺流量高可用

2020-07-16 09:02:45

aPaaS云計算aPaaS平臺

2020-08-04 10:56:09

進程線程協程

2024-08-13 17:09:00

架構分庫分表開發

2025-01-13 12:00:00

反射Java開發

2020-01-02 09:06:23

微服務數據框架

2020-12-01 11:34:14

Elasticsear

2020-12-07 06:19:50

監控前端用戶

2021-01-18 13:05:52

Serverless Serverfull FaaS

2023-07-07 08:00:00

KafkaSpringBoo

2022-04-28 10:41:08

SaaS業務方式

2023-11-09 08:41:25

DevOpsAIOps軟件

2023-11-08 18:35:29

得物前端監控

2021-08-09 10:20:04

Thanos監控架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合一区二区三区 | 国产视频在线一区二区 | 91精品国产91久久久久久密臀 | 黄视频网址 | 国产精品久久国产精品久久 | 国产成人午夜电影网 | 国产中文字幕在线观看 | 美女天天操 | 91麻豆精品国产91久久久久久久久 | 狠狠久 | 久久久久国产 | 精品国产网| 成人欧美一区二区三区1314 | 亚洲视频免费一区 | 国产91丝袜在线熟 | 国产精品一码二码三码在线 | 成人激情视频免费观看 | 三级特黄特色视频 | www.五月天婷婷 | 欧美a级成人淫片免费看 | 久久天堂| 国产精品久久久久久久久污网站 | 精品三级在线观看 | 欧美中国少妇xxx性高请视频 | 四虎影 | 亚洲一区二区三 | 亚洲精品久久久久久国产精华液 | jizz18国产 | 久久99精品国产 | 99re在线视频观看 | 亚洲欧美中文日韩在线v日本 | 99亚洲精品| 亚洲精品美女 | 成人免费看 | 欧美一级在线视频 | 欧美日韩在线精品 | 亚洲91精品 | 亚洲视频三区 | 亚洲网址在线观看 | 日韩在线免费视频 | 国产成人免费视频网站高清观看视频 |