iT邦幫忙

2024 iThome 鐵人賽

DAY 7
1

https://ithelp.ithome.com.tw/upload/images/20240921/20118848ltrYI0uR99.png

搜尋功能非常強大,繼前一天介紹了搜尋列、時間範圍、自動更新、時間趨勢圖之後,本篇針對詳細記錄的各種進階操作進行說明,是 Graylog 功能細節中的精華之一。


檢視記錄訊息

在搜尋頁的最下方區塊,就是完整的記錄訊息區,包含每一筆詳細記錄內容。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848xjFfVYb556.png
記錄訊息區

在記錄訊息區預設會有兩個欄位,分別是 timestamp (1)、source (2),說明如下:

  • timestamp:記錄訊息產生的時間,通常在來源裝置產生記錄後同時會寫在記錄本身傳送來到 Graylog 儲存。有一種情況下 timestamp 不會是它的產生時間而是 Graylog 收到這筆記錄 的時間,就是來源裝置所傳送的記錄不支援或沒有對應 timestamp 的日期時間欄位,此時 Graylog 就會以它身收到記錄的時間作為 timestamp 欄位的值,而這種情況最常是發生在 Raw/Plaintext 輸入器。

  • source:該記錄是在那一個裝置上所產生的,在大多數情況下這個欄位都會自該裝置的主機名稱,若來源裝置傳送沒有包含主機名稱欄位,則會以來源 IP 做為 source 欄位的值。

在欄位名稱右方的排序小圖案 (3) (4) 按下後,可以即時切換為升冪或降冪排序。

而下方每一筆記錄 (5) 都會用一條細線分隔,第一行會顯示 timestampsource 的值,第二行是記錄內容預覽 message,在記錄上按一下滑鼠左鍵,可以將它展開。


展開記錄欄位

前一小節提到,在記錄訊息區點按一筆記錄後可以將它展開,如下:

https://ithelp.ithome.com.tw/upload/images/20240921/20118848CcC0yUg0RP.png
展開記錄訊息

展開後的記錄會在下方多出左右兩個區塊,左方是索引資訊 (1),包含以下資訊:

  • Timestamp:記錄的產生時間
  • Received by:記錄是經由那一個輸入器接收進來,以該接收器是位於那一個 Graylog 節點
  • Stored in index:記錄儲存在那一個索引當中
  • Routed into streams:記錄被導入那幾個串流 (Stream)

右方則是這筆記錄的所有欄位 (2),依據不同的來源或欄位拆解處理過的記錄,會長出不同的欄位。上圖是一個標準的 Linux 系統經由 Syslog 協定傳送進來的記錄,當中的 facilityfacility_numlevel 都是 Syslog 格式標準會產生的對應欄位。

在展開的欄位當中,每個欄位都會以一條細線分隔,第一行粗體字是欄位名稱 (4),第二行是欄位內容 (5)。


記錄欄位搜尋

當我們開始檢視記錄時,可能會對某些欄位的統計產生數量統計差異的需求,此時可以在需要了解的 欄位內容 (1) 按下滑鼠左鍵,在彈出的選單中選擇 Add to query (2)。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848k4JPOqRWT1.png
記錄欄位內容搜尋

接著系統會將剛才點選欄位的內容做為條件,自動加入搜尋列的查詢語法 (1) 當中並立即套用,直接反應相關的記錄顯示:

https://ithelp.ithome.com.tw/upload/images/20240921/20118848rjdIBWqEhG.png
記錄欄位內容搜尋結果

接著我們可以對其它欄為的內容也執行相同的操作,隨著加入的條件越來越多結果也會更加精準。在加入多個條件時 Graylog 會自動在搜尋列的查詢語法中串接 (1),並以 AND 做為運算子。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848q3xvvHTjJl.png
串接多個欄位內容搜尋結果

技巧:

若需要的是 OR 效果,可以手動將 AND 替換為 OR,但需要注意維持全大寫才會被視為運算子。

若今天的場景是需要以某個欄位內容做為例外,僅這個內容者不要其它皆要列出,Graylog 也有提供快捷的操作方式。

舉個例子,我要在所有搜尋結果中排除來源裝置是 host-114 這台主機,請在 source 欄位內容 按下滑鼠左鍵 (1),並選擇 Exclude from results (2)。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848fzQ5smXMoc.png
從欄位內容排除

點選執行後,可以看到搜尋列的語法已經自動加入,要排除的條件會以 NOT 大寫開頭,下方的結果中確實已經排除 host-114 的結果了。

https://ithelp.ithome.com.tw/upload/images/20240921/201188480NsqmegCfq.png
從欄位內容排除搜尋結果


記錄前後篩選

當我們在尋找特定記錄時,有可能找到關鍵記錄但仍不足以協助我們判斷問題,需要搭配它前後一段時間內的記錄才可以判定問題,這時可能需要自己計算往前推幾分鐘往後推幾分鐘是多久,再填入時間範為進行搜尋...不,這種方法太沒效率了。

在記錄訊息展開後,提供了一個顯示前後訊息 Show surrounding message (1) 的按鈕,按下後會彈出要顯示前後多久時間範圍的選單 (2),請選擇所需的範圍。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848ntPQCgbzj7.png
顯示記錄的前後訊息

選好前後時間範圍後,會自動計算起迄日期時間並帶入搜尋列,同時在搜尋結果中有可以看到確實只有顯示該段時間內的記錄。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848hEcqKh7ipA.png
顯示記錄指定時間內的前後訊息


加入清單欄位

經由搜尋的功能可以找出需要檢視的記錄資料時,在需要比對一批記錄的某些欄位時,預設的記錄訊息區只有 timestampsource 欄位顯然是無法滿足我們快速對照的需求。

Graylog 的訊息記錄區提供了自訂欄位的功能,首先我們展開一筆記錄,並且在想要挑出來放放在記錄清單的 欄位標題 上按下滑鼠左鍵 (1),接著選擇 Add to table (2)。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848Q8GUDQA5eQ.png
挑選要加入記錄資料區的欄位

完成後即可看見多出了一個剛剛挑選的欄位 EventID,方便每一筆之前比較對照。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848WgxTN5wOB5.png
顯示已加入記錄資料區的欄位

接著還可以再更進一步。若覺得每一筆記錄的第二行訊影響使用者上下比較每一筆的同欄位時,可以點選記錄訊息區的 編輯按鈕 (1)

https://ithelp.ithome.com.tw/upload/images/20240921/20118848rxQJFknVRa.png
編輯記錄資料區

進入後,將 Show message in new row (1) 取消勾選,即可看見右方預覽視窗 (2) 中的每一行記錄已經沒有第二行的 message 顯示,若無誤後按下 Update widget 套用之。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848CImyt5yzyp.png
編輯記錄資料區

更新後回到搜尋頁,即可看見具有需要比對的欄位,又不會有第二行的記錄內容影響上面比對。

https://ithelp.ithome.com.tw/upload/images/20240921/20118848csCyU923ML.png
編輯記錄資料區取消記錄內容顯示


上一篇
Graylog 搜尋 (一)
下一篇
Graylog 搜尋 (三)
系列文
突破困境:開源記錄收集與分析系統10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言