如何在安全的Kafka集群上运行“ jmx_prometheus_javaagent”?

时间:2019-06-16 20:47:00

标签: apache-kafka prometheus

我正在尝试将prometheus jmx代理(jmx_prometheus_javaagent-0.3.1.jar)添加到现有的安全kafka集群(在代理上启用SSL / SASL)。

但是当我运行Java代理时,我没有在端口上得到响应,就像它说的那样-

curl http://serv010134:8080
curl: (7) Failed connect to serv010134:8080; Connection refused

我的配置是:

$ cat confluent-kafka.service

[Unit]
Description=Apache Kafka - broker
Documentation=http://docs.confluent.io/
After=network.target confluent-zookeeper.target

[Service]
Type=simple
User=cp-kafka
Group=confluent
Environment="KAFKA_OPTS=-javaagent:/opt/monitoring/prometheus/jmx_prometheus_javaagent-0.3.1.jar=8080:/opt/monitoring/prometheus/kafka-2_0_0.yml"
ExecStart=/usr/bin/kafka-server-start /etc/kafka/server.properties
TimeoutStopSec=180
Restart=no

[Install]
WantedBy=multi-user.target

Kafka yml:

$ cat kafka-2_0_0.yml
lowercaseOutputName: true
rules:
- pattern : .*

在不安全的Kafka群集中,上述相同设置可以正常工作。 我有什么想念的吗? 理想情况下,以上步骤应该将指标扔到8080端口上,并且我可以卷曲它。 note-机器上的防火墙已禁用。(扁平网络)

PS-我也为Zookeeper尝试了上述步骤,并且能够看到其指标。我怀疑这与代理的SSL配置有关。

谢谢!

1 个答案:

答案 0 :(得分:0)

将变量KAFKA_OPTS替换为EXTRA_ARGS后,问题得到解决。