4

我正在尝试以 prometheus 格式导出 spark (2.4.0) 自定义指标。我发现本指南https://argus-sec.com/monitoring-spark-prometheus/ 在我的本地电脑(windows)上运行我可以在 visualVM 和 spark 的 json http://localhost:4040/metrics 中看到我的指标/json/

我的问题是 JMX 导出器 ( https://github.com/prometheus/jmx_exporter/blob/master/README.md ) 根本没有任何迹象表明它处于活动状态。我在 spark conf 中添加了以下内容:

val conf = new SparkConf()                                                  
val metrics  =  Map("spark.metrics.conf" -> "<pathOnMyPC>\metrics.properties")
val prometheus = Map("spark.driver.extraJavaOptions" -> "spark.driver.extraJavaOptions=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.rmi.port=8091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -javaagent:<pathOnMyPC>jmx_prometheus_javaagent-0.13.0.jar=8095:<pathOnMyPC>\prometheus-config.yaml")
conf.setAll(metrics)
conf.setAll(prometheus)

而且我的 prometheus-config.yaml 文件没有规则来呈现所有内容,只是为了查看数据是否被提取。

---
lowercaseOutputName: true
attrNameSnakeCase: true

我没有看到来自 JMX 导出器的任何日志,并且无法访问 http://localhost:8095/metrics。请指教 :)

4

0 回答 0