Splunk自定义日志格式解析

问题描述:

我的splunk日志格式具有键值对,但一个键具有调用者详细信息,既不是JSON也不是XML格式。这是记录的一些内部格式。Splunk自定义日志格式解析

JSON日志我可以用sPath解析,但有什么办法可以解析自定义格式。

例如我的日志格式如下

Key1 = value1 | Key2 = value2 | KEY3 =({intern_key1 =值1; inern_key2 =值2; intern_key3 =值3}; {intern_key1 =值1; inern_key2 =值2; intern_key3 =值3}; {intern_key1 =值1; inern_key2 =值2; intern_key3 =值3})

基本上格式就像

({key = value; key = value; key = value}; {key = value; key = value; key = value}; {key = value; key = value; key = value}; {key = value; key = value; key = value})

有没有什么办法可以解析Splunk?

我的Splunk 6.2.3

Key1=value1 | Key2=value2 | key3=({intern_key1=value1; inern_key2=value2; intern_key3=value3}; {intern_key1=value1; inern_key2=value2; intern_key3=value3}; {intern_key1=value1; inern_key2=value2; intern_key3=value3}) 

添加以下内容的文本文件的单稳上传1线使用默认设置索引文件后,我跑到下面的搜索

source="/some/path/to/foo.txt" | table Key1 Key2 key3 intern_key1 inern_key2 intern_key3 

将结果导出为CSV后,我得到以下内容(第一行是字段名称,第二行是值)

Key1,Key2,key3,"intern_key1","inern_key2","intern_key3" 
value1,value2,"({intern_key1=value1; inern_key2=value2; intern_key3=value3}; {intern_key1=value1; inern_key2=value2; intern_key3=value3}; {intern_key1=value1; inern_key2=value2; intern_key3=value3})",value1,value2,value3 

我不认为你应该有任何问题,你可能想要做一些自定义字段提取,以确保你得到的所有数据解析成字段。例如,如果“intern_key1”具有多个值,则需要配置事件中断的方式。所以,而不是打破换行符,也许你想打破分号。

+0

我以JSON格式转换日志,然后使用spath。 –