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的官网:

posted @   丹江湖畔养蜂子赵大爹  阅读(4448)  评论(7编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示