Grafana 系列文章(六):Grafana Explore 中的日誌

東風微鳴發表於2023-02-03

?️URL: https://grafana.com/docs/grafana/latest/explore/logs-integration/#labels-and-detected-fields

?Description:

Explore 中的日誌

除了指標之外,Explore 還允許你在以下資料來源中調查你的日誌。

在基礎設施監控和事件響應期間,你可以深入挖掘指標和日誌,找到原因。Explore 還允許你透過並排檢視指標和日誌來進行關聯。這創造了一個新的除錯工作流程。

  1. 接到一個警報。
  2. 深入研究並檢查指標。
  3. 再次深入,搜尋與指標和時間間隔有關的日誌(將來還有分散式跟蹤)。

日誌視覺化

日誌查詢的結果在圖表中以直方圖的形式顯示,個別日誌在下面的章節中會有解釋。

如果資料來源支援全範圍的日誌量直方圖,則會自動顯示所有輸入的日誌查詢的日誌分佈圖。目前 Elasticsearch 和 Loki 資料來源支援此功能。

如果資料來源不支援載入全範圍的日誌量直方圖,日誌模型會根據自動計算的時間間隔的日誌行數來計算一個時間序列,然後將第一個日誌行的時間戳錨定在結果的直方圖的起點。時間序列的末端被錨定在時間選擇器的To範圍內。

日誌級別

對於指定了級別標籤的日誌,我們使用標籤的值來確定日誌的級別並相應地更新顏色。如果日誌沒有指定級別標籤,我們會嘗試找出其內容是否與任何支援的表示式相匹配(更多資訊見下文)。日誌級別總是由第一個匹配項決定的。如果 Grafana 無法確定一個日誌級別,它將以未知的日誌級別進行視覺化。

Tip: 如果你使用 Loki 資料來源,並且 "級別 "在你的日誌線中,使用解析器(JSONlogfmtregex...)將級別資訊提取為一個級別標籤,用來確定日誌級別。這將使直方圖在不同的柱狀圖中顯示不同的日誌級別。

支援的日誌級別以及日誌級別縮寫和表示式的對映:

支援的表示式 日誌級別 顏色
emerg critical 紫色
fatal critical 紫色
alert critical 紫色
crit critical 紫色
critical critical 紫色
err error 紅色
eror error 紅色
error error 紅色
warn warning 黃色
warning warning 黃色
info info 綠色
information info 綠色
notice info 綠色
dbug debug 藍色
debug debug 藍色
trace trace 淡藍色
* unknown 灰色

日誌導航

日誌行旁邊的日誌導航可以用來請求更多的日誌。你可以透過點選導航底部的 Older logs 按鈕來做到這一點。當你遇到行數限制,你想看到更多的日誌時,這一點特別有用。每個從導航中執行的請求都會作為單獨的頁面顯示在導航中。每一頁都顯示傳入日誌行的起止時間戳。你可以透過點選頁面檢視以前的結果。Explore 快取了從日誌導航中執行的最後五個請求,所以當你點選這些頁面時,你不會重新執行相同的查詢。

在 Explore 中導航日誌

視覺化選項

你可以自定義日誌的顯示方式,並選擇顯示哪些列。

Time

顯示或隱藏時間列。這是與日誌行相關的時間戳,由資料來源報告。

Unique labels

顯示或隱藏僅包括非常見標籤的獨特標籤欄。所有常見的標籤都顯示在上面。

換行

如果你想讓顯示器使用換行,將此設定為true; 設定為False,將導致水平滾動。

Prettify JSON

將此設定為true以漂亮地列印所有 JSON 日誌。這個設定不影響 JSON 以外的任何格式的日誌。

Deduping(去重)

日誌資料可能是非常重複的,Explore 可以透過隱藏重複的日誌行來幫助。你可以使用幾種不同的重複資料刪除演算法。

  • 精確 - 精確匹配是在整個行中進行的,除了日期欄位。
  • 數字 - 在剝離數字後的行上進行匹配,如持續時間、IP 地址等。
  • 簽名 - 最激進的剔除,這將剝離所有的字母和數字,並在剩餘的空白處和標點符號上進行匹配。

Flip results order(翻轉結果順序)

你可以將收到的日誌的順序從預設的降序(最新的先)改為升序(最舊的先)。

Labels and detected fields(標籤和檢測欄位)

每個日誌行都有一個可擴充套件的區域,有它的標籤和檢測欄位,以實現更強大的互動。對於所有的標籤,我們增加了過濾(正向過濾)和過濾(反向過濾)選定標籤的能力。每個欄位或標籤也有一個統計圖示,以顯示與所有顯示的日誌有關的特別統計資料。

Derived fields links(衍生欄位連結)

透過使用衍生欄位,你可以把日誌訊息的任何部分變成內部或外部連結。建立的連結在日誌細節檢視中的 Detected 欄位旁邊以按鈕的形式顯示。

Explore 中的衍生欄位連結

Toggle detected fields(切換檢測到的欄位)

Note: 在 Grafana 7.2 及更高版本中可用。

如果你的日誌是以jsonlogfmt構造的,那麼你可以顯示或隱藏檢測到的欄位。展開一個日誌行,然後點選眼睛圖示來顯示或隱藏欄位。

Toggling detected fields in Explore

Loki 特有的功能

如前所述,其中一個日誌整合是針對 Grafana Labs 的新的開源日誌聚合系統--Loki。Loki 的設計非常具有成本效益,因為它不對日誌的內容進行索引,而是為每個日誌流提供一組標籤。Loki 的日誌查詢方式與 Prometheus 中使用標籤選擇器的查詢方式類似。它使用標籤對日誌流進行分組,可以使之與你的 Prometheus 標籤相匹配。關於 Grafana Loki 的更多資訊,請參考 Grafana Loki 或 Grafana Labs 的託管版本:Grafana Cloud Logs

更多資訊請參考 Loki 的資料來源文件 關於如何查詢日誌資料的資訊。

從指標轉換到日誌

如果你從 Prometheus 查詢切換到日誌查詢(你可以先做一個分割,讓你的指標和日誌並排),那麼它將保留你查詢中存在於日誌中的標籤,並使用這些標籤來查詢日誌流。例如,下面的 Prometheus 查詢。

grafana_alerting_active_alerts{job="grafana"}

切換到 Logs 資料來源後,查詢結果變為:

{job="grafana"}

這將返回所選時間範圍內的一大塊日誌,可以進行 grepped/text 搜尋。

實時滾動 (Live Tailing)

使用實時滾動功能來檢視支援的資料來源的實時日誌。

點選 Explore 工具欄上的實時按鈕,切換到實時滾動檢視。

在實時滾動檢視中,新的日誌會從螢幕的底部出現,並且會有漸變的對比背景,因此你可以跟蹤新的內容。點選暫停按鈕或滾動日誌檢視來暫停實時跟蹤,不間斷地探索以前的日誌。點選恢復按鈕恢復實時跟蹤,或點選停止按鈕退出實時跟蹤,回到標準的探索檢視。

Explore 實操中的實時滾動

Grafana 系列文章

Grafana 系列文章

三人行, 必有我師; 知識共享, 天下為公. 本文由東風微鳴技術部落格 EWhisper.cn 編寫.

相關文章