如何在 Kubernetes 中将 Spark 的 JVM 指标发送到 Prometheus



我正在使用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 端口转发

8090:8090 来验证这一点(,该服务也会公开指标几分钟(可以使用端口转发 kubctl 端口转发 svc/8090:8090 进行验证(。

Promethues 能够在 Prometheus 中注册这些 pod 的 URL,但是当它尝试抓取指标(每 30 秒运行一次(时,Pod 的 URL 会关闭。

如何使 Java 代理 JMX 导出器长时间运行,直到驱动程序和执行程序完成作业。 您能否在这里指导或帮助我,他们以前遇到过这种情况?

要么 Prometheus 需要抓取每 5 秒一次的指标(指标可能不准确(,要么你需要使用 pushgateway,如本博客(https://banzaicloud.com/blog/spark-monitoring/(中所述将指标推送到 Prometheus

将指标推送 Prometheus批处理作业的最佳实践。Prometheus中提取指标是长时间运行服务(例如:REST 服务(的最佳方法

相关内容

  • 没有找到相关文章

最新更新