繁体   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