我有一个splunk日志LOG:"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
它给出了终止符错误
该查询存在一些问题。
TOTAL NUMBER OF RECORDS IS:(?<field>\d+)
。你甚至可以和:(?<field>\d+)
一起过关。TotalNumberOfRecords
这样的东西。试试这个查询:sourcetype=mylogs | rex ":\d+(?<TotalNumberOfRecords>\d+)" | where TotalNumberOfRecords>=25
这是一个满足您要求的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
逐行说明:
_raw
中提取记录数量的值并将其存储在record_num
字段中。where
子句来过滤结果。