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”具有多个值,则需要配置事件中断的方式。所以,而不是打破换行符,也许你想打破分号。
我以JSON格式转换日志,然后使用spath。 –