簡體   English   中英

如何在 Kubernetes 中將 Spark 的 JVM 指標發送到 Prometheus

[英]How to send JVM metrics of Spark to Prometheus in Kubernetes

我正在使用 Spark 運算符在 Kubernetes 上運行 Spark。 https://github.com/GoogleCloudPlatform/spark-on-k8s-operator

我正在嘗試在 Spark 驅動程序和執行程序 pod 中運行 Java 代理,並通過 Kubernetes 服務將指標發送給 Prometheus 操作員。

我正在使用這個例子https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/examples/spark-pi-prometheus.yaml

Java 代理在短時間內暴露了端口 8090 上的指標(我可以通過端口轉發 kubctl port-forward < spark-driver-pod-name > 8090:8090 驗證),該服務也暴露了少數指標分鍾(可以通過端口轉發 kubctl port-forward svc/< spark-service-name > 8090:8090 驗證)。

Promethues 能夠在 prometheus 中注冊這些 pod 的 URL,但是當它嘗試抓取指標(每 30 秒運行一次)時,pod 的 URL 已關閉。

如何使 Java 代理 JMX 導出器長時間運行,直到驅動程序和執行程序完成工作。 你能在這里指導或幫助我嗎,以前誰遇到過這種情況?

Prometheus 需要每 5 秒抓取一次指標(指標可能不准確),或者您需要使用 pushgateway,如本博客中所述( https://banzaicloud.com/blog/spark-monitoring/ )將指標推送到 Prometheus

將指標送到Prometheus批處理作業的最佳實踐。 Prometheus提取指標是長期運行服務的最佳方法(例如: REST服務)

暫無
暫無

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

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