我正在使用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/
Promethues 能够在 Prometheus 中注册这些 pod 的 URL,但是当它尝试抓取指标(每 30 秒运行一次(时,Pod 的 URL 会关闭。
如何使 Java 代理 JMX 导出器长时间运行,直到驱动程序和执行程序完成作业。 您能否在这里指导或帮助我,他们以前遇到过这种情况?
要么 Prometheus 需要抓取每 5 秒一次的指标(指标可能不准确(,要么你需要使用 pushgateway,如本博客(https://banzaicloud.com/blog/spark-monitoring/(中所述将指标推送到 Prometheus
将指标推送 到 Prometheus是批处理作业的最佳实践。从Prometheus中提取指标是长时间运行服务(例如:REST 服务(的最佳方法