linkedin开源的kafka-monitor安装文档##
linkedin 开源的kafka-monitor的安装使用可以参考官方的readme;流程介绍的已经比较清楚,但是还是有一些地方需要修正。让大家可以少填一些坑。
-
前提条件###
Kafka Monitor 需要 Gradle 2.0 或者更高版本. 编译和执行都需要在java8环境下。 -
下载源码###
如果编译过程中下载类库速度缓慢,可以改为国内库。$ 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' } }
- 运行kafka-monitor的测试服务并指定Config File
运行会报错:$ ./bin/kafka-monitor-start.sh config/kafka-monitor.properties
发现 zookeeper.connect需要指定kafka的根路径,如下: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)
"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" } }
-
运行 BasicEndToEndTest监控kafka集群
这里的zookeeper也需要指定根路径。
$ ./bin/end-to-end-test.sh --topic test --broker-list localhost:9092 --zookeeper localhost:2181/kafka
-
通过UI实时的获取度量的值
在浏览器打开
我们可以编辑 webapp/index.html 轻松实现添加一个度量的或者删除一个。localhost:8000/index.html
-
使用http 请求查询其他度量值
我们可以根据JMX metric 的object-name和attribute-name 查询其他的JMX metric。curl localhost:8778/jolokia/read/kmf.services:type=produce-metrics,name=*/produce-availability-avg
-
运行代码格式检查checkstyle
./gradlew checkstyleMain checkstyleTest
-
使用IDE构建项目
./gradlew idea
./gradlew eclipse
更多信息参考kafka-monitor的官网:
- 源码下载
- wiki
作者:
丹江湖畔养蜂子的赵大爹
出处:http://www.cnblogs.com/honeybee/
关于作者:丹江湖畔养蜂子的赵大爹
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接