Splunk - 計算欄位



很多時候,我們需要對 Splunk 事件中已有的欄位進行一些計算。我們也希望將這些計算的結果儲存為一個新的欄位,以便以後在各種搜尋中引用。這可以透過使用 Splunk 搜尋中的計算欄位的概念來實現。

一個最簡單的例子是顯示星期名前三個字元,而不是完整的星期名稱。我們需要應用某些 Splunk 函式來實現對欄位的這種操作,並將新的結果儲存在一個新的欄位名稱下。

示例

Web_application 日誌檔案有兩個名為 bytes 和 date_wday 的欄位。bytes 欄位中的值是位元組數。我們希望將此值顯示為 GB。這需要將欄位除以 1024 以獲得 GB 值。我們需要將此計算應用於 bytes 欄位。

類似地,date_wday 顯示星期名稱的完整名稱。但我們需要只顯示前三個字元。

這兩個欄位中現有的值如下面的影像所示:

Calculated Fields1

使用 eval 函式

要建立計算欄位,我們使用 eval 函式。此函式將計算結果儲存在一個新欄位中。我們將應用以下兩個計算:

# divide the bytes with 1024 and store it as a field named byte_in_GB
Eval byte_in_GB = (bytes/1024)

# Extract the first 3 characters of the name of the day.
Eval short_day = substr(date_wday,1,3)

新增新欄位

我們將上面建立的新欄位新增到我們作為搜尋結果顯示的欄位列表中。為此,我們選擇“所有欄位”選項,並在這些新欄位的名稱前打勾,如下面的影像所示:

Calculated Fields2

顯示計算欄位

選擇上述欄位後,我們可以在搜尋結果中看到計算欄位,如下所示。搜尋查詢顯示計算欄位,如下所示:

Calculated Fields3
廣告

© . All rights reserved.