天天看點

linkedin開源的kafka-monitor安裝文檔

linkedin開源的kafka-monitor安裝文檔##

linkedin 開源的kafka-monitor的安裝使用可以參考官方的readme;流程介紹的已經比較清楚,但是還是有一些地方需要修正。讓大家可以少填一些坑。
  1. 前提條件###

    Kafka Monitor 需要 Gradle 2.0 或者更高版本. 編譯和執行都需要在java8環境下。
  2. 下載下傳源碼###

    $ git clone https://github.com/linkedin/kafka-monitor.git $ cd kafka-monitor $ ./gradlew jar

    如果編譯過程中下載下傳類庫速度緩慢,可以改為國内庫。

    cd kakfa-monitor;vi build.gradle

    repositories {
     	//mavenCentral()
     	maven { url 'http://10.150.144.28/nexus/content/groups/public' }
     }
               
  3. 運作kafka-monitor的測試服務并指定Config File

    $ ./bin/kafka-monitor-start.sh config/kafka-monitor.properties

    運作會報錯:
    Exception in thread "main" java.lang.RuntimeException: Can not find valid partition number for topic test. Please verify that the topic has been created. Ideally the partition number should be a multiple of number of brokers in the cluster.
     at com.linkedin.kmf.services.ProduceService.<init>(ProduceService.java:75)
     at com.linkedin.kmf.tests.BasicEndToEndTest.<init>(BasicEndToEndTest.java:54)
     at com.linkedin.kmf.tests.BasicEndToEndTest.main(BasicEndToEndTest.java:230)
               
    發現 zookeeper.connect需要指定kafka的根路徑,如下:
    "end-to-end": {
         "class.name": "com.linkedin.kmf.tests.BasicEndToEndTest",
         "topic": "kmf-topic",
        	"zookeeper.connect": "192.168.108.50:2181/kafka",
         "bootstrap.servers": "192.168.108.50:9092",
         "produce.record.delay.ms": 100,
         "produce.producer.props": {
           "client.id": "kmf-client-id"
         },
         "consume.consumer.props": {
           "group.id": "kmf-group-id"
         }
     }
               
  4. 運作 BasicEndToEndTest監控kafka叢集

這裡的zookeeper也需要指定根路徑。

$ ./bin/end-to-end-test.sh --topic test --broker-list localhost:9092 --zookeeper localhost:2181/kafka
           
  1. 通過UI實時的擷取度量的值

    在浏覽器打開

    localhost:8000/index.html

    我們可以編輯 webapp/index.html 輕松實作添加一個度量的或者删除一個。
  2. 使用http 請求查詢其他路徑成本

    curl localhost:8778/jolokia/read/kmf.services:type=produce-metrics,name=*/produce-availability-avg
               
    我們可以根據JMX metric 的object-name和attribute-name 查詢其他的JMX metric。
  3. 運作代碼格式檢查checkstyle

./gradlew checkstyleMain checkstyleTest
           
  1. 使用IDE建構項目

./gradlew idea
./gradlew eclipse
           

更多資訊參考kafka-monitor的官網:

  • 源碼下載下傳
  • wiki

作者:

丹江湖畔養蜂子的趙大爹

出處:http://www.cnblogs.com/honeybee/

關于作者:丹江湖畔養蜂子的趙大爹

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結