首页 > 解决方案 > 如何为 Kubernetes 容器从启动到第一次成功探测所花费的时间构建 PromQL 表达式?

问题描述

我正在寻找构建一个 PromQL 表达式,该表达式可以添加到 Grafana 和 Prometheus Alertmanager 中,并显示在 Kubernetes 的 Pod 中运行的容器成功完成它的第一个就绪探针所需的时间。我希望它在每次新部署或 Pod/容器重启时显示一个新值。

我正在尝试使用的指标:

这两个指标都来自kubelet并分别显示有用的信息。

这是我当前的失败尝试(没有结果):

timestamp(prober_probe_total{pod="foo", probe_type="Readiness", result="successful"} == 0)
-
container_start_time_seconds{pod="bar", container="bar"}

我的方法有很多问题:

  1. timestamp()不像我期望的那样工作
  2. 在我的查询中可能没有考虑到容器或 Pod 重新启动

有没有更好的方法可以通过指标和 PromQL 达到预期的结果?

标签: kubernetesprometheusmetricskubernetes-podpromql

解决方案


推荐阅读