使用 Kubernetes Metric 服务器中的 PromQL (prometheus) 列出 Grafana 上的命名空间名称、命名空间年龄和状态

问题描述 投票:0回答:3

我们有一个 Kubernetes 集群,并使用 Prometheus + Grafana 进行监控和警报。 我们需要在 Grafana 上显示一个面板来显示视图(与 kubectl get namespaces 相同)。 目前,我们可以使用下面的 PROMQL 以及 Grafana 可视化部分中的隐藏选项来获取 namestatus 列。

按(阶段,命名空间)计数(kube_namespace_status_phase)

但我们还想找到命名空间激活/创建时的 AGE。 我们无法在可用命名空间的 4 个 kube 指标中找到 AGE -

  1. kube_namespace_created
  2. kube_namespace_status_phase
  3. kube_namespace_lables
  4. kube_namespace_annotations

任何建议都会有帮助。

kubernetes prometheus grafana
3个回答
0
投票

不幸的是,正如您已经注意到的那样,没有特定的metric可用于计算对象的年龄。您可以用来实现目标的最接近的方法是使用

kube_namespace_created
,它显示 Kubernetes 中的命名空间的创建时间。

我也无法找到合适的 Prometheus operator/function 来制定某种解决方法 PROMQL。

我将此答案发布为社区维基。您可以随意扩展它。

希望有帮助。


0
投票

我在其他有关年龄的指标中看到你需要乘以 1000

所以如果你这样做;

kube_namespace_created * 1000

您需要检查/测试,但我已经看到它用于其他有关查找工作节点年龄的查询。


0
投票

以下查询返回每个 Kubernetes 命名空间的年龄(以秒为单位):

time() - kube_namespace_created

它使用 time() 函数,返回当前时间(以秒为单位)。

© www.soinside.com 2019 - 2024. All rights reserved.