嗨,所有这些问题都是在这里继续提问
到目前为止,我已经在节点 x214 上运行单节点 Kafka 代理,并在端口 7071 上使用 JMX 导出器报告指标
curl -s localhost:7071 | grep -i kafka
# reports many metrics on std out
我想将JMX导出器与Prometheus连接起来,并最终连接到Grafana进行可视化;如此处所述
我尝试按照博客解释安装 Prometheus,但遇到了问题; 我发现使用 docker 容器启动 Prometheus 很容易
docker run -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
我在节点 x215(与 kafka 代理不同的节点)上运行普罗米修斯。 我可以在http://x215-ip:9090
上到达普罗米修斯 GUI
Prometheus.yaml 文件设置为以下内容。
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus_master'
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['IP-215:9090']
- job_name: ‘kafka-server’
static_configs:
- targets: [‘IP-214:7071’]
问题:- 在普罗米修斯 gui 上,我找不到任何卡夫卡指标;在响应上述命令时可见curl
指标页面(IP-215:9090/指标)的响应在这里
我觉得 JMX 导出器正确报告指标,但它没有正确连接到普罗米修斯。 你能在这里帮我吗?
谢谢
我们需要更多信息来帮助确定这里发生的事情。你能分享以下内容吗?
- JMX 导出器的绑定接口(它是侦听 0.0.0.0、127.0.0.1 还是其他一些特定接口?这可以通过类似
ss -plunt | grep -i jmx
- Prometheus 实例能否通过网络访问 JMX 导出器实例?鉴于它们位于不同的计算机上,因此可能会遇到许多障碍(防火墙,网络配置,SDN,IPtables...仅举几例)。Prometheus 容器确实有 telnet,所以最简单的方法是使用它来查看是否可以连接到端口 7071。
docker exec -it prometheus sh
并运行telnet IP-214:7071
。你也可以卷曲,但卷曲在普罗米修斯图像中不可用。
检查这两个有助于排除配置中的一些简单问题。