Grafana 系列文章(十二):如何使用Loki建立一個用於搜尋紀錄檔的Grafana儀表板

2023-02-09 12:03:08

概述

建立一個簡單的 Grafana 儀表板, 以實現對紀錄檔的快速搜尋.

有經驗的直接用 Grafana 的 Explore 功能就可以了.

但是對於沒有經驗的人, 他們如何能有一個已經預設了簡單的標籤搜尋的儀表板,以幫助一些團隊在排除故障時快速找到他們正在尋找的東西。雖然 Explore 很適合這個用例,但對於第一次使用的人,或者半夜收到告警的人來說,也可能有點令人生畏。

所以, 嘗試通過一些模板變數來建立一個展示紀錄檔的 Grafana 儀表板.

步驟

實現概述

建立個 Logs Panel 的儀表板, 然後新增幾個變數, Logs Panel 的 LogQL 表示式引入這些變數.

建立變數

因為 Loki 和 Prometheus 共用一套 Label, 所以可以通過 Prometheus 的 Label 來作為 Loki 的變數. 如下圖:

這裡建立一個可以通過: namespace, pod, 紀錄檔過濾條件 篩選紀錄檔的儀表板:

  1. namespace 變數, 通過該變數獲取所有的 namespace 作為變數篩選條件:
    1. Type: Query
    2. DataSource: Prometheus
    3. Query: label_values(kube_pod_info, namespace)
  2. pod 變數, 通過該變數獲取對應 namespace 下的 pod 作為變數篩選條件以縮小紀錄檔搜尋空間:
    1. Type: Query
    2. DataSource: Prometheus
    3. Query: label_values(container_network_receive_bytes_total{namespace=~"$namespace"},pod)
    4. Multi-value: 勾選;
    5. Include All option: 勾選
    6. Custom all value: .*