【问题标题】:kafka_exporter doesn't send metrics to prometheuskafka_exporter 不向 prometheus 发送指标
【发布时间】:2019-07-09 16:03:16
【问题描述】:

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

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

【问题讨论】:

    标签: apache-kafka monitoring apache-zookeeper prometheus


    【解决方案1】:

    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文章的总结

    【讨论】:

      【解决方案2】:

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

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

      如果有不清楚的地方请评论

      【讨论】:

        猜你喜欢
        • 2019-02-03
        • 1970-01-01
        • 2022-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-17
        • 2021-10-27
        相关资源
        最近更新 更多