📅  最后修改于: 2020-11-29 08:13:58             🧑  作者: Mango
很多时候,我们将需要对Splunk事件中已经可用的字段进行一些计算。我们还希望将这些计算的结果存储为新字段,以供以后进行各种搜索参考。通过使用Splunk搜索中计算字段的概念,可以做到这一点。
最简单的示例是显示工作日的前三个字符,而不是完整的日期名称。我们需要应用某些Splunk函数来实现对该字段的操作,并将新结果存储在新的字段名称下。
Web_application日志文件有两个字段,分别为bytes和date_wday。字节字段中的值是字节数。我们希望将此值显示为GB。这将要求该字段除以1024以获取GB值。我们需要将此计算应用于字节字段。
同样,date_wday显示工作日的全名。但是我们只需要显示前三个字符。
下图显示了这两个字段中的现有值-
要创建计算字段,我们使用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)
我们将上面创建的新字段添加到作为搜索结果一部分显示的字段列表中。为此,我们选择“所有字段”选项,然后对这些新字段的名称打勾,如下图所示:
选择上面的字段后,我们可以在搜索结果中看到计算出的字段,如下所示。搜索查询显示计算出的字段,如下所示-