JMX出口商和Prometheus

时间:2019-10-30 21:39:04

标签: apache-kafka prometheus jmx-exporter

您好,所有问题都在question此处

的延续

到现在,我已经在节点x214上运行了单节点kafka代理,并使用端口7071上的jmx导出器报告了其度量标准

curl -s localhost:7071 | grep -i kafka
# reports many metrics on std out

我想将jmx导出器与Prometheus连接起来,并最终连接到grafana以进行可视化;如here

所述

我尝试按照博客的说明安装Prometheus,但遇到了问题;我发现使用docker容器

轻松启动Prometheus
docker run -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

我在节点x215(与kafka代理不同的节点)上运行Prometheus。我可以在http://x215-ip:9090

上找到Prometheus 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’]

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

指标页面(IP-215:9090 / metrics)的响应为here

我认为JMX导出器正确报告了指标,但未正确连接到Prometheus。你能在这里帮我吗?

谢谢

1 个答案:

答案 0 :(得分: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。您也许也可以卷曲,但是在普罗米修斯图像中无法卷曲。

同时检查这两项有助于排除配置中的一些简单问题。