Splunk 日志 - 日期比较
Splunk Log - Date comparison
我已经通过 splunk 配置了我的应用程序日志并希望执行以下操作 -
- 当字符串包含今天的日期时获取事件
- 当字符串有明天的日期时获取事件。
我已经尝试为 #1 编写如下查询,但它似乎 return 什么都没有
REGAVAIL | eval Date=strftime(strptime(Date, "%m%d%Y"), "%m%d%Y") | where Date>= strftime(now(), "%m%d%Y")
我的搜索字符串是 REGAVAIL,所有事件都采用以下格式 -
REGAVAIL|00958645030|8871|1|61745|01262017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F
REGAVAIL|00958647200|8871|1|61745|01282017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F
REGAVAIL|00958649200|8871|1|61745|01292017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F
我想先从中提取日期 - 01262017,然后将其与今天的日期进行比较。如果找到匹配项,则应考虑该事件。
如有任何帮助,我们将不胜感激!
此搜索基于 a 创建两个字符串。事件_time和b。使用 now() 的当前日期。然后我们将创建一个名为 match 的新字段,以包含事件 _time 是否与我们计算的相对时间匹配的 Yes 或 No。
index=yourindex "REGAVAIL"
| eval eventTime = strftime(_time, "%Y-%m-%d")
| eval timeNow = strftime(relative_time(now(),"@d"), "%Y-%m-%d")
| eval match=if(eventTime=timeNow, "Yes", "No")
| search match="Yes"
第二次搜索几乎是一样的。我唯一改变的是发送到 relative_time 函数的参数。现在设置为 -1d@d,即 returns 昨天的日期。
index=你的索引"REGAVAIL"
| eval eventTime = strftime(_time, "%Y-%m-%d")
| eval timeNow = strftime(relative_time(now(),"<strong>-1d@d</strong>"), "%Y-%m-%d")
| eval match=if(eventTime=timeNow, "Yes", "No")
|搜索匹配="Yes"
理论上您可以修改此 relative_time 函数以提前 2 天、推迟 3 天等
希望这对您有所帮助。有问题就喊
我已经通过 splunk 配置了我的应用程序日志并希望执行以下操作 -
- 当字符串包含今天的日期时获取事件
- 当字符串有明天的日期时获取事件。
我已经尝试为 #1 编写如下查询,但它似乎 return 什么都没有
REGAVAIL | eval Date=strftime(strptime(Date, "%m%d%Y"), "%m%d%Y") | where Date>= strftime(now(), "%m%d%Y")
我的搜索字符串是 REGAVAIL,所有事件都采用以下格式 -
REGAVAIL|00958645030|8871|1|61745|01262017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F REGAVAIL|00958647200|8871|1|61745|01282017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F REGAVAIL|00958649200|8871|1|61745|01292017|0|N|N|Y|N|Y|N|N|O|O|O|O|O|O|O|1013|F
我想先从中提取日期 - 01262017,然后将其与今天的日期进行比较。如果找到匹配项,则应考虑该事件。
如有任何帮助,我们将不胜感激!
此搜索基于 a 创建两个字符串。事件_time和b。使用 now() 的当前日期。然后我们将创建一个名为 match 的新字段,以包含事件 _time 是否与我们计算的相对时间匹配的 Yes 或 No。
index=yourindex "REGAVAIL" | eval eventTime = strftime(_time, "%Y-%m-%d") | eval timeNow = strftime(relative_time(now(),"@d"), "%Y-%m-%d") | eval match=if(eventTime=timeNow, "Yes", "No") | search match="Yes"
第二次搜索几乎是一样的。我唯一改变的是发送到 relative_time 函数的参数。现在设置为 -1d@d,即 returns 昨天的日期。
index=你的索引"REGAVAIL" | eval eventTime = strftime(_time, "%Y-%m-%d") | eval timeNow = strftime(relative_time(now(),"<strong>-1d@d</strong>"), "%Y-%m-%d") | eval match=if(eventTime=timeNow, "Yes", "No") |搜索匹配="Yes"
理论上您可以修改此 relative_time 函数以提前 2 天、推迟 3 天等
希望这对您有所帮助。有问题就喊