Splunk:匹配错误日志并获取错误日志的计数

Splunk: Matching an error log and obtaining the count of it

我是 Splunk 的新手。我需要从我们的日志中获取每条错误消息的数量。我尝试编写以下搜索查询,但它没有按预期工作。

index="my_index" source="my_service.log" logger="com.xyz.splunk.logger.*" severity="ERROR" |eval errorType =case(Message==必填字段field1为空","missing field1",Message==必填字段field2为空" , "missing field2", Message==必填字段field1有无效值", "invalid field1") |按错误类型计算的统计数据

你能提供一些示例事件吗?为什么说它没有按预期工作?

我猜您需要在 Message 字段上使用 match 来匹配部分字符串,但这只是基于缺少示例事件的猜测。

index="my_index" source="my_service.log" logger="com.xyz.splunk.logger.*" severity="ERROR"
| eval errorType=case(
   match(Message, "mandatory field field1 is null"), "missing field1",
   match(Message, "mandatory field field2 is null"), "missing field2",
   match(Message, "mandatory field field1 has invalid value"), "invalid field1"
)
| stats count by errorType