kafka_exporter 不向 prometheus 发送指标

kafka_exporter doesn't send metrics to 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集群。

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

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 文章的摘要

我认为从 kafka-exporter 获取这些指标的最佳方式是让 Prometheus 抓取它们。您可以通过 kafka_exporter 窗格中的 using annotation 来执行此操作。

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

如有不明之处请评论