Splunk 查询查找大于

Splunk Query to find greater than

我有一个 splunk 日志 日志:"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

给出终止符错误

以下是满足您要求的 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 子句过滤结果。

该查询有一些问题。

  • 正则表达式查找 3 组以冒号分隔的数字。这与您的示例不符。尝试 TOTAL NUMBER OF RECORDS IS:(?<field>\d+)。您甚至可以使用 :(?<field>\d+).
  • 查询中的字段名称中不应包含空格。试试 TotalNumberOfRecords.
  • 字段名称不能包含冒号。这可能是错误消息的来源。

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