当前位置: 首页 > 知识库问答 >
问题:

使用Kubernetes Metric server中的ProMQ(prometheus)在Grafana上列出命名空间名称、命名空间年龄和状态

刘焱
2023-03-14

我们有一个库伯内特斯集群,并使用Prometheus Grafana进行监控和警报。我们需要在Grafana上显示一个显示视图的面板(与kubectl get命名空间相同)。目前,我们能够使用下面的PROMQL以及Grafana可视化部分中的隐藏选项来获取名称和状态列。

计数(kube_namespace_status_phase)by(相,命名空间)

但我们还希望找到命名空间处于活动/创建状态的时间。我们无法在可用名称空间的4个kube指标中找到年龄-

  1. kube_namespace_已创建
  2. kube\u namespace\u status\u阶段
  3. kube\u namespace\u标签
  4. kube\u namespace\u注释

任何建议都会有帮助。

共有3个答案

澹台星光
2023-03-14

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

time() - kube_namespace_created

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

马才
2023-03-14

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

如果你这样做了;

kube_namespace_created * 1000

您需要进行检查/测试,但我已经在其他有关查找工作节点年龄的查询中看到了这种情况。

庞彬
2023-03-14

不幸的是,正如你已经注意到的那样,没有具体的指标可以用来计算物体的年龄。您可以用来实现目标的最接近的方法是使用创建的kube_namespace_,它显示了Kubernetes中的名称空间是在什么时候创建的。

我也无法找到一个合适的普罗米修斯操作符/函数来进行某种解决方案PROMQL。

我在社区维基上发布了这个答案。请随意扩展。

我希望这有帮助。

 类似资料:
  • 为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?

  • 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码

  • Let the word of Christ dwell in you richly in all wisdom; teaching and admonishing one another in psalms and hymns and spiritual songs, singing with grrace in your hearts tto the Lord. And whatsoever

  • 客户端有许多“命名空间”,通常是一些公开的可管理功能。命名空间对应 Elasticsearch 中各种可管理的 endpoint。下面是全部的命名空间: **命名空间** **功能** `indices()` 索引数据统计和显示索引信息 `nodes()` 节点数据统计和显示节点信息 `cluster()` 集群数据统计和显示集群信息 `snapshot()` 对集群和索引进行拍摄快照或恢复数据

  • 命名空间 由于 js 环境极少命名空间管理模块, namespace 相对陌生, 比如有这样的文件结构, src/ demo/ core.cljs 可以看到 core.cljs 的路径就是: src/demo/core.cljs 注意 JVM 环境有个 classpath 的环境变量, 用于判断怎样查找源码, classpath 对应多个路径, 也可能是 jar 包, 而 jar 包中

  • 命名空间,英文名字:namespaces 在研习命名空间以前,请打开在python的交互模式下,输入:import this >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than