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**
我认为从 kafka-exporter 获取这些指标的最佳方式是让 Prometheus 抓取它们。您可以通过 kafka_exporter 窗格中的 using annotation 来执行此操作。
您可以在此处找到更全面解决方案的示例 see this guide
如有不明之处请评论
你能帮我安装吗? 我在 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**
我认为从 kafka-exporter 获取这些指标的最佳方式是让 Prometheus 抓取它们。您可以通过 kafka_exporter 窗格中的 using annotation 来执行此操作。
您可以在此处找到更全面解决方案的示例 see this guide
如有不明之处请评论