您能帮我安装吗? 我在3个节点上有kafka集群:kafka1:9092,kafka2:9092,kafka3:9092 我想从这些节点获取指标。 我下载了node_exporter并将其安装在一个节点上-kafka1。 我的服务文件的最新版本:
[Unit]
Description=Prometheus exporter for kafka.
Documentation=https://github.com/danielqsj/kafka_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/sbin/kafka_exporter --kafka.server=kafka1:9092 --kafka.server=kafka1:9092 --kafka.server=kafka1:9092
Restart=on-failure
[Install]
WantedBy=multi-user.target
node_exporter服务器启动良好,我在日志中看到:
Jul 09 18:08:33 kafka1 systemd[1]: Started Prometheus exporter for kafka..
Jul 09 18:08:33 kafka1 kafka_exporter[5391]: time="2019-07-09T18:08:33+03:00" level=info msg="Starting kafka_exporter (version=1.2.0, branch=non-git, revision=non-git)" source="kafka_exporter.go:474"
Jul 09 18:08:33 kafka1 kafka_exporter[5391]: time="2019-07-09T18:08:33+03:00" level=info msg="Build context (go=go1.9.4, user=mockbuild@44b00b1726084a939a040a64de97977c, date=20180912-11:02:53)" source="kafka_expor
Jul 09 18:08:33 kafka1 kafka_exporter[5391]: time="2019-07-09T18:08:33+03:00" level=info msg="Done Init Clients" source="kafka_exporter.go:213"
Jul 09 18:08:33 kafka1 kafka_exporter[5391]: time="2019-07-09T18:08:33+03:00" level=info msg="Listening on :9308" source="kafka_exporter.go:499"
在prometheus配置中,我添加了作业:
- job_name: 'Kafka exporter'
static_configs:
- targets: [
'172.29.15.30:9308'
]
我在prometheus中看到了此作业和目标-它处于UP状态,但是http://172.29.15.30:9308/metrics页未加载。它给我ERR_CONNECTION_TIMED_OUT错误。
如果我添加了错误的kafka.server,则kafka_Exporter会在错误运行后停止:
ERRO[0000] Error Init Kafka Client source="kafka_exporter.go:210"
panic: kafka: client has run out of available brokers to talk to (Is your cluster reachable?)
因为我认为它可以看到kafka群集。
我做错了什么?我必须解决的问题?
答案 0 :(得分:0)
Kafka不会将任何指标发送给Prometheus。 Prometheus服务器将从您的指标API中提取指标。
但是我可以建议最好使用官方的JMX导出器。
首先下载代理:
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.9/jmx_prometheus_javaagent-0.9.jar
然后是Yaml文件:
wget https://github.com/prometheus/jmx_exporter/raw/master/example_configs/kafka-2_0_0.yml
现在您要做的是设置KAFKA_OPTS
环境变量以运行此导出程序:
[Service]
...
Restart=no
**Environment=KAFKA_OPTS=-javaagent:/home/morteza/myworks/jmx_prometheus_javaagent-0.9.jar=7071:/home/morteza/myworks/kafka-2_0_0.yml**
答案 1 :(得分:0)
我认为从kafka出口商那里获取这些指标的最好方法是让Prometheus抓取它们。您可以在kafka_exporter窗格上的using annotation上执行此操作。
您可以在此处找到更全面的解决方案see this guide的示例
如果不清楚,请发表评论