如何将Prometheus与Presto JMX连接

时间:2019-03-19 15:55:04

标签: jmx prometheus presto jmx-exporter

我尝试将Prometheus与Presto jmx连接,我找到了此导出器https://github.com/yahoojapan/presto_exporter,但似乎所提到的二进制文件不存在。 我的问题是如何从头开始创建presto导出器? 如果已经存在,jmx_exporter可以提供帮助以及如何提供帮助?

非常感谢。

2 个答案:

答案 0 :(得分:1)

#1从源代码构建

您需要自己构建go代码

#2 Docker(推荐)

例如,ip使用内部网络ip,以便docker容器可以访问它。

# docker run --rm yahoojapan/presto-exporter:master --help
# for more infomation
docker run --rm -p 9483:9483 yahoojapan/presto-exporter:master --web.url="http://<ip>:8080/v1/cluster"

然后在Prometheus

scrape_configs:

  # other configurations...

  - job_name: 'presto_exporter'
    static_configs:
      - targets: ['<server_ip_that_run_docker_command>:9483']

重新启动Prometheus

查询presto_*或导入以下信息中心:https://grafana.com/grafana/dashboards/10866


更新

还有更多以presto_开头的指标,请参见:http://<server_ip_that_run_docker_command>:9483/metrics

enter image description here

答案 1 :(得分:0)

没有 Docker,没有 presto-exporter Docker 容器

也可以启用 Prometheus 监控,在 presto jvm.config 文件中提供 JMX 选项

-server
-Xmx3G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9015
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-javaagent:/opt/java_metrics/jmx_prometheus_javaagent-0.3.0.jar=9483:/opt/java_metrics/config.yml

prometheus.yml 文件中为 presto 添加 Prometheus 抓取点

scrape_configs:

   - job_name: presto
     static_configs:
      - targets: ['<presto_ip>:9483']
  • Presto 指标将在 http://<presto_ip>:9483/metrics