簡體   English   中英

Prometheus 中的 Spark 3.0 流指標

[英]Spark 3.0 streaming metrics in Prometheus

我正在 Kubernetes 上運行 Spark 3.0 應用程序(Spark Structured Streaming),我正在嘗試使用新的原生 Prometheus 指標接收器。 我能夠使它工作並獲得此處描述的所有指標。

但是,我真正需要的指標是在啟用以下配置時提供的指標:spark.sql.streaming.metricsEnabled,正如Spark Summit 演示文稿中提出的那樣。 現在,即使將該配置設置為“true”,我也看不到/metrics/executors/prometheus宣傳的任何流媒體指標。 需要注意的一件事是我可以在metrics/json下看到它們,因此,我們知道配置已正確應用。

為什么不將流式指標發送到 Prometheus 接收器? 我需要添加一些額外的配置嗎? 那還不支持嗎?

經過相當多的調查,我能夠使它工作。 簡而言之,Spark 作業 k8s 定義文件需要添加一行,以告訴 Spark 在哪里可以找到metrics.propreties配置文件。

確保添加以下行下sparkConf星火工作K8S定義文件,並調整到你的實際路徑。 metrics.properties文件的路徑應該在您的 Dockerfile 中設置。

sparkConf:    
    "spark.metrics.conf": "/etc/metrics/conf/metrics.properties"

作為參考,這是我的sparkConf的其余部分,用於與指標相關的配置。

sparkConf:
    "spark.metrics.conf": "/etc/metrics/conf/metrics.properties"  
    "spark.ui.prometheus.enabled": "true"
    "spark.kubernetes.driver.annotation.prometheus.io/scrape": "true"
    "spark.kubernetes.driver.annotation.prometheus.io/path": "/metrics/executors/prometheus/"
    "spark.kubernetes.driver.annotation.prometheus.io/port": "4040"
    "spark.sql.streaming.metricsEnabled": "true"
    "spark.metrics.appStatusSource.enabled": "true"
    "spark.kubernetes.driver.service.annotation.prometheus.io/scrape": "true"
    "spark.kubernetes.driver.service.annotation.prometheus.io/path": "/metrics/prometheus/"
    "spark.kubernetes.driver.service.annotation.prometheus.io/port": "4040"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM