建立一個簡單的 Grafana 儀表板, 以實現對紀錄檔的快速搜尋.
有經驗的直接用 Grafana 的 Explore 功能就可以了.
但是對於沒有經驗的人, 他們如何能有一個已經預設了簡單的標籤搜尋的儀表板,以幫助一些團隊在排除故障時快速找到他們正在尋找的東西。雖然 Explore 很適合這個用例,但對於第一次使用的人,或者半夜收到告警的人來說,也可能有點令人生畏。
所以, 嘗試通過一些模板變數來建立一個展示紀錄檔的 Grafana 儀表板.
建立個 Logs Panel 的儀表板, 然後新增幾個變數, Logs Panel 的 LogQL 表示式引入這些變數.
因為 Loki 和 Prometheus 共用一套 Label, 所以可以通過 Prometheus 的 Label 來作為 Loki 的變數. 如下圖:
這裡建立一個可以通過: namespace
, pod
, 紀錄檔過濾條件
篩選紀錄檔的儀表板:
namespace
變數, 通過該變數獲取所有的 namespace
作為變數篩選條件:
Query
label_values(kube_pod_info, namespace)
pod
變數, 通過該變數獲取對應 namespace
下的 pod
作為變數篩選條件以縮小紀錄檔搜尋空間:
Query
label_values(container_network_receive_bytes_total{namespace=~"$namespace"},pod)
.*