无法使用来自Kafka的jolokia来提取JMX数据

时间:2017-08-31 10:17:13

标签: java apache-kafka jmx nagios jolokia

我已经在centos 7机器上安装了Jolokia,并尝试使用Jolokia代理提取Kafka指标,并使用Nagios插件check_jmx4perl与Icinga监控工具集成。以下是我遵循的配置步骤

第1步:下载了jolokia-jvm-1.3.4-agent.jar

第2步:复制到/ home / usr /

步骤3:通过发出命令chmod a+x /home/usr/jolokia-jvm-1.3.4.jar

提供权限

步骤4:通过发出命令export KAFKA_OPTS="$KAFKA_OPTS -javaagent:/home/usr/jolokia-jvm-1.3.4-agent.jar=host=*"

添加到类路径

步骤5:以独立模式启动Zookeeper和Kafka,并尝试通过显示消息来获取工作正常的主题列表

INFO: No access restrictor found, access to all MBean is allowed
Jolokia: Agent started with URL http://0:0:0:0:0:0:0:0:8778/jolokia/

步骤6:通过发出命令j4psh http://localhost:8778

来测试jolokia代理
Connection refused

我也试过提供IP地址,但问题仍然存在。我是否需要在etc / hosts文件中输入主机?

1 个答案:

答案 0 :(得分:0)

不确定您是否与this question相同,但是:

也许你需要完全限定jar的路径。我看起来像这样并且有效:

export JOLOKIA_HOME=/libs/java/jolokia/1.3.7
export JOLOKIA_JAR=$JOLOKIA_HOME/jolokia-jvm-1.3.7-agent.jar
export KAFKA_OPTS="-javaagent:$JOLOKIA_JAR=port=7778,host=* $KAFKA_OPTS"

当我以非守护进程模式启动Kafka时,它会打印出来:

I> No access restrictor found, access to any MBean is allowed
Jolokia: Agent started with URL http://10.8.36.121:7778/jolokia/

然后我将浏览器指向http://localhost:7778/jolokia/search/ ,然后我得到:

{
  "request": {
    "mbean": "*:*",
    "type": "search"
  },
  "value": [
    "kafka.network:name=ResponseQueueTimeMs,request=ListGroups,type=RequestMetrics",
    "kafka.server:delayedOperation=topic,name=PurgatorySize,type=DelayedOperationPurgatory",
    "kafka.server:delayedOperation=Fetch,name=NumDelayedOperations,type=DelayedOperationPurgatory",
    "kafka.network:name=RemoteTimeMs,request=Heartbeat,type=RequestMetrics",
<-- SNIP -->
    "kafka.network:name=LocalTimeMs,request=Offsets,type=RequestMetrics"
  ],
  "timestamp": 1504188793,
  "status": 200
}

j4psh还与:

连接
j4psh http://localhost:7778/jolokia