Grafana Dashboards 列出命名空间中的 pod 不起作用

Posted

技术标签:

【中文标题】Grafana Dashboards 列出命名空间中的 pod 不起作用【英文标题】:Grafana Dashboards list pods within namespace not working 【发布时间】:2021-10-29 17:57:48 【问题描述】:

我有 grafana 仪表板,Pods 下拉到命名空间中的 None,但是我们有 pods 在命名空间中运行并拉取数据 prometheus。

截图:

查询:

          "datasource": "Prometheus",
          "definition": "",
          "description": null,
          "error": null,
          "hide": 0,
          "includeAll": false,
          "label": "Pod",
          "multi": false,
          "name": "pod",
          "options": [],
          "query": 
            "query": "query_result(sum(container_memory_working_set_bytesnamespace=\"$namespace\") by (pod_name))",
            "refId": "Prometheus-pod-Variable-Query"
          ,
          "refresh": 1,
          "regex": "/pod_name=\\\"(.*?)(\\\")/",
          "skipUrlSync": false,
          "sort": 0,
          "tagValuesQuery": "",
          "tags": [],
          "tagsQuery": "",
          "type": "query",
          "useTags": false

我是导入json代码: https://grafana.com/grafana/dashboards/6879

【问题讨论】:

【参考方案1】:

这可能不是一个完整的答案,但我还不能发表评论。

链接的仪表板导入并为我工作正常。所以我怀疑其中之一:

Prometheus 抓取未运行(正确)。您可以直接进入 Prometheus 应用程序并检查 container_memory_working_set_bytes 指标是否在任何地方都具有任何值。 kube_system 系统命名空间可能在抓取等方面受到限制。如果另一个命名空间有效,而只有这个无效,那么就是这种情况。

【讨论】:

【参考方案2】:

编辑仪表板的 JSON: 将两个地方的“pod_name”重命名为“pod”(并保存)

看起来这个 grafana 仪表板是使用较旧的 kubernetes 版本创建的, 和指标内部,因为发生了变化。

可能还需要对这些旧仪表板中的“container_name”更改为“container”进行类似的编辑

【讨论】:

以上是关于Grafana Dashboards 列出命名空间中的 pod 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

python Grafana Dashboards备份

仪表板命名空间的 Rails 路由帮助

K8S 中的 Grafana 数据持久化

K8S 中的 Grafana 数据持久化

ES Grafana

grafana add custom dashboard