Splunk Query查找大于

问题描述 投票:0回答:2

我有一个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

它给出了终止符错误

splunk splunk-query
2个回答
0
投票

该查询存在一些问题。

  • 正则表达式查找由冒号分隔的3组数字。这与你的例子不符。试试TOTAL NUMBER OF RECORDS IS:(?<field>\d+)。你甚至可以和:(?<field>\d+)一起过关。
  • 查询中的字段名称中不应包含空格。试试像TotalNumberOfRecords这样的东西。
  • 字段名称不能包含冒号。这可能是错误消息的来源。

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


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子句来过滤结果。
© www.soinside.com 2019 - 2024. All rights reserved.