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

Posted

技术标签:

【中文标题】使用来自 Kubernetes Metric 服务器的 PromQL (prometheus) 列出 Grafana 上的命名空间名称、命名空间年龄和状态【英文标题】:List Namespace name, Namespace Age, and Status on Grafana using PromQL (prometheus) from Kubernetes Metric server 【发布时间】:2020-10-12 03:28:43 【问题描述】:

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

count(kube_namespace_status_phase) by (phase, namespace)

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

    kube_namespace_created kube_namespace_status_phase kube_namespace_labels kube_namespace_annotations

任何建议都会有所帮助。

【问题讨论】:

【参考方案1】:

不幸的是,您已经注意到没有特定的metric 可用于计算对象的年龄。您可以用来实现目标的最接近的方法是使用 kube_namespace_created,它显示了 Kubernetes 中命名空间的创建时间。

我也找不到合适的 Prometheus operator/function 来解决 PR​​OMQL 问题。

我将此答案发布为社区 wiki。随意扩展它。

希望对你有帮助。

【讨论】:

【参考方案2】:

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

如果你这样做了;

kube_namespace_created * 1000

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

【讨论】:

以上是关于使用来自 Kubernetes Metric 服务器的 PromQL (prometheus) 列出 Grafana 上的命名空间名称、命名空间年龄和状态的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes - 访问 Metric Server

Kubernetes 集群部署 Metrics Server 获取集群 Metric 数据

Kubernetes 集群部署 Metrics Server 获取集群 Metric 数据

根据自定义指标扩展部署

无法使用 Spring Cloud 连接到 Hystrix Dashboard 的 Command Metric Stream

promethus 的 relabel_configs 和 metric_relabel_configs