0

嗨,所有这些问题都是这里的问题的延续

到目前为止,我在节点 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 代理不同的节点)上运行 Prometheus。我可以访问 Prometheus guihttp://x215-ip:9090

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’]

问题:- 在 Prometheus gui 上我找不到任何 kafka 指标;curl正如上面命令的响应可见

指标页面 (IP-215:9090/metrics) 的响应在这里

我觉得 JMX 导出器正在正确报告指标,但它没有正确连接到 Prometheus。你能帮帮我吗?

谢谢

4

1 回答 1

0

我们需要更多信息来帮助确定这里发生了什么。能否分享以下内容:

  • JMX 导出器的绑定接口(它是在侦听 0.0.0.0、127.0.0.1 还是其他特定接口?)这可以通过类似的方式进行检查ss -plunt | grep -i jmx
  • prometheus 实例可以通过网络访问 JMX Exporter 实例吗?鉴于它们位于不同的机器上,可能会遇到很多事情(防火墙、网络配置、SDN、IPtables ......仅举几例)。prometheus 容器确实有 telnet,所以最简单的方法是使用它来查看是否可以连接到端口 7071。docker exec -it prometheus sh然后运行telnet IP-214:7071​​. 你也可以使用 curl,但是 prometheus 镜像中没有 curl。

检查这两个可以帮助排除配置中的一些简单问题。

于 2020-01-10T18:17:57.970 回答