Splunk查询查找大于

时间:2019-02-27 00:54:36

标签: splunk splunk-query

我的日志不完整 日志:"TOTAL NUMBER OF RECORDS IS:0"

如果记录数大于0,我需要查询日志消息的方式来查询它

我尝试了以下

 sourcetype=mylogs | rex "\d+:\d+:\d+\s(?<TOTAL NUMBER OF RECORDS IS:>\d+)$" | where TOTAL NUMBER OF RECORDS IS:>=25

出现终止符错误

2 个答案:

答案 0 :(得分:0)

以下是满足您要求的SPL示例:

| makeresults 
| eval _raw="TOTAL NUMBER OF RECORDS IS:10"
| rex field=_raw "TOTAL NUMBER OF RECORDS IS:(?<record_num>.\d+)" 
| where record_num > 0

逐行说明:

  1. 第1-2行:为此测试创建一个虚拟事件。
  2. 第3行:从_raw中提取记录数的值并将其存储在record_num字段中。
  3. 第4行:where子句以过滤结果。

答案 1 :(得分:0)

该查询存在一些问题。

  • 正则表达式查找由冒号分隔的3组数字。那与你的例子不符。尝试TOTAL NUMBER OF RECORDS IS:(?<field>\d+)。您甚至可以通过:(?<field>\d+)来度过难关。
  • 查询中的字段名称中不应包含空格。尝试类似TotalNumberOfRecords的事情。
  • 字段名称不能包含冒号。这可能是错误消息的来源。

尝试以下查询: sourcetype=mylogs | rex ":\d+(?<TotalNumberOfRecords>\d+)" | where TotalNumberOfRecords>=25