kafka_exporter不会将指标发送给普罗米修斯

时间:2019-07-09 16:03:16

标签: apache-kafka monitoring apache-zookeeper prometheus

您能帮我安装吗? 我在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群集。

我做错了什么?我必须解决的问题?

2 个答案:

答案 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**

这是Monitor Apache Kafka Using Grafana and Prometheus文章的摘要

答案 1 :(得分:0)

我认为从kafka出口商那里获取这些指标的最好方法是让Prometheus抓取它们。您可以在kafka_exporter窗格上的using annotation上执行此操作。

您可以在此处找到更全面的解决方案see this guide的示例

如果不清楚,请发表评论