Splunk查询从json日志事件中检索值并将其保存在表中

问题描述

我有一个这样的json格式的日志事件

{
   "level":"level  name","exception":"exception message","logger":"com.log","thread":"thread name","message":"exception message","properties":{
      "id":"1234","process":"Process name,"host":"host name","type":"type name"
   }
}

我需要一个splunk查询获取主机内部属性作为将其获取到表中的值。请帮助我。

解决方法

这将有助于查看您已经尝试过的内容,因此我们不会建议您不起作用的内容。
可能有几种方法可以做到这一点,但这是其中一种。

... | rex "host\":\"(?<hostName>[^\"]+)"
| table hostName

请注意,为了避免与同名的内置字段发生冲突,我没有专门将该字段称为“主机”。

,

您已经尝试了什么?

怀疑(假设Splunk已将这些数据标识为JSON格式)将起作用(

index=ndx sourcetype=srctp properties{}.host=*
| rename properties{}.host as hostname
| stats count by hostname