天天看點

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

本節書摘來自華章計算機《splunk智能運維實戰》一書中的第2章,第2.2節,作者 [美]喬史·戴昆(josh diakun),保羅r.約翰遜(paul r. johnson),德萊克·默克(derek mock),譯 宮鑫,康甯,劉法宗 ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

從splunk搜尋欄進行基本搜尋後,搜尋結果會預設以原始事件格式來顯示。對許多使用者來說,這種原始事件資訊可讀性不強,事件中有價值的資訊常常被其他資訊遮蔽。此外,如果各個事件跨了多行,就無法同時看到多個事件。

本節将通過編寫一個splunk搜尋來展示如何利用splunk指令讓原始事件資料具備可讀性。該指令将事件用清單顯示,并且隻顯示我們感興趣的字段。

做好準備

本節操作需運作splunk enterprise伺服器,導入和第1章相同的樣本資料。我們已經很熟悉splunk搜尋欄和搜尋結果區域了。

如何操作

按照下列步驟搜尋并将選中的事件資料制成清單。

1 . 登入splunk伺服器。

2 . 從螢幕右上角的下拉菜單選擇“搜尋和報表”應用程式。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

3 . 設定時間選擇器為“過去24小時”,在搜尋欄輸入下列搜尋後單擊搜尋圖示或按enter鍵。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

4 . splunk傳回搜尋結果并在搜尋欄下列出原始搜尋事件。

5 . 重新執行搜尋,此次添加table指令:

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

6 . splunk傳回相同數目的事件,但不顯示原始事件,而是将資料以清單形式呈現,并且隻顯示指定字段。這樣更易于閱讀。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

7 . 單擊“儲存為”,選擇“報表”,儲存此次搜尋結果。将報表命名為cp02_tabulated_webaccess_logs,并單擊“儲存”。在下一個頁面,單擊“繼續編輯”,回到搜尋。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

工作原理

将搜尋以段的形式分開。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

本節學習了table指令。table指令對大範圍的搜尋有顯著的性能影響。它應該用在搜尋末尾,當其他的splunk指令已經處理完資料後,再執行table指令。

stats指令比table指令更高效,我們應該盡可能用stats指令代替table指令。不過注意stats和table是兩個截然不同的指令。

更多内容

當我們想把資料呈現為可讀格式時,table指令會很有幫助。此外,splunk中清單的資料可作為csv檔案下載下傳,很多使用者可以用電子表格軟體進行線下處理,或發給他人。我們還有其他方法利用table指令使原始事件資料可讀。

将每個字段制表

常常會碰到這種情況,想将資料中的每個事件做成清單格式,而不想依次指定每個字段。要這樣做,隻需使用通配符(*),如下所示。

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

移除字段,然後将剩餘字段制表

盡管使用通配符(*)可以友善地将所有字段制表,但會有許多splunk的内部字段,如_raw也會顯示在表格中。可在使用table指令前先使用fields指令,移除字段,如下所示:

《Splunk智能運維實戰》——2.2 使原始事件資料具備可讀性

如果在fields指令後不加減号(-),splunk會保留指定字段,并移除其餘字段。

如需在搜尋中移除多個字段,可編寫一個宏,然後在搜尋中調用宏即可。本書後面會介紹宏。