使用来自 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 的可视化部分中的隐藏选项来获取 name 和 status 列。
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 来解决 PROMQL 问题。
我将此答案发布为社区 wiki。随意扩展它。
希望对你有帮助。
【讨论】:
【参考方案2】:我在其他有关年龄的指标上看到你需要乘以 1000
如果你这样做了;
kube_namespace_created * 1000
您需要检查/测试,但我已经看到用于查找工作节点年龄的其他查询。
【讨论】:
以上是关于使用来自 Kubernetes Metric 服务器的 PromQL (prometheus) 列出 Grafana 上的命名空间名称、命名空间年龄和状态的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes 集群部署 Metrics Server 获取集群 Metric 数据
Kubernetes 集群部署 Metrics Server 获取集群 Metric 数据
无法使用 Spring Cloud 连接到 Hystrix Dashboard 的 Command Metric Stream