kubernetes - 如何为 Kubernetes 容器从启动到第一次成功探测所花费的时间构建 PromQL 表达式?
问题描述
我正在寻找构建一个 PromQL 表达式,该表达式可以添加到 Grafana 和 Prometheus Alertmanager 中,并显示在 Kubernetes 的 Pod 中运行的容器成功完成它的第一个就绪探针所需的时间。我希望它在每次新部署或 Pod/容器重启时显示一个新值。
我正在尝试使用的指标:
prober_probe_total{pod="foo", probe_type="Readiness", result="successful"}
- 计数器,成功探测的总数container_start_time_seconds{pod="foo",container="bar"}
- 仪表(?)、时间戳、Pod 或容器重启的更新
这两个指标都来自kubelet
并分别显示有用的信息。
这是我当前的失败尝试(没有结果):
timestamp(prober_probe_total{pod="foo", probe_type="Readiness", result="successful"} == 0)
-
container_start_time_seconds{pod="bar", container="bar"}
我的方法有很多问题:
timestamp()
不像我期望的那样工作- 在我的查询中可能没有考虑到容器或 Pod 重新启动
有没有更好的方法可以通过指标和 PromQL 达到预期的结果?
解决方案
推荐阅读
- sql - 如何从 Sql Server 中的字符串中获取值,
- android - FirebaseRecylcerVAdapter 从最高到最低排序
- python - DataFrame 到 Json,使用第一个 Col 作为键,第二个作为值
- maven - 持久类似乎没有得到增强。您可能需要重新运行增强器并检查输出中的错误。”
- r - R-如何有条件地删除 group_by 的第一行
- java - Lucene:建立索引
- entity-framework - 如何在 Azure Function 的应用程序设置中定义 providername 属性
- python - 如何生成总和=1的随机值列表
- c# - C# SpreadsheetGear:获取公式的计算值
- ios - 如何使用web3的个人扩展签署个人消息?