[英]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 操作員。
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.