Grafana的label_replace

WHY

在搞Grafana整合時,才發現缺少單個Node的CPU Used,
從Grafana Dashboard找了個適合的抓下來用,
有些錯誤更改時,才發現他用了Transformation,
所以不論我怎改都沒資料。

Note

我使用的dashboard是 GKE per Node dashboard

Transformation功能很多,
282-fig.1.png

新增功能時,碰到一個問題。
我有兩個 metrics

CPU Used

sum by (kubernetes_io_hostname)(rate(container_cpu_usage_seconds_total{id="/"}[1m]))

CPU Request

sum by(node)(kube_node_status_allocatable{resource="cpu"})

兩邊的值都一樣,但如果要顯示在同一個表格的話,無法顯示!!!

最快的方式,就是將CPU Request的 node改掉。

sum by (kubernetes_io_hostname)(
  label_replace(
    kube_node_status_allocatable{resource="cpu"},
    "kubernetes_io_hostname",
    "$1",
    "node",
    "(.*)"
  )
)

將node的值取出來後,再將node的label 改成 kubernetes_io_hostname。

這樣直接在transformation底下的欄位往上拉就好,
原本連顯示都沒有。

282-fig.2.png