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-2 行:为此测试创建虚拟事件。
- 第 3 行:从
_raw
中提取记录数的值并将其存储在 record_num
字段中。
- 第 4 行:
where
子句过滤结果。
该查询有一些问题。
- 正则表达式查找 3 组以冒号分隔的数字。这与您的示例不符。尝试
TOTAL NUMBER OF RECORDS IS:(?<field>\d+)
。您甚至可以使用 :(?<field>\d+)
.
- 查询中的字段名称中不应包含空格。试试
TotalNumberOfRecords
.
- 字段名称不能包含冒号。这可能是错误消息的来源。
试试这个查询:
sourcetype=mylogs | rex ":\d+(?<TotalNumberOfRecords>\d+)" | where TotalNumberOfRecords>=25
我有一个 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-2 行:为此测试创建虚拟事件。
- 第 3 行:从
_raw
中提取记录数的值并将其存储在record_num
字段中。 - 第 4 行:
where
子句过滤结果。
该查询有一些问题。
- 正则表达式查找 3 组以冒号分隔的数字。这与您的示例不符。尝试
TOTAL NUMBER OF RECORDS IS:(?<field>\d+)
。您甚至可以使用:(?<field>\d+)
. - 查询中的字段名称中不应包含空格。试试
TotalNumberOfRecords
. - 字段名称不能包含冒号。这可能是错误消息的来源。
试试这个查询:
sourcetype=mylogs | rex ":\d+(?<TotalNumberOfRecords>\d+)" | where TotalNumberOfRecords>=25