multikv
- multikv可以操作这些像表格类型的数据,提取表中的数据。
- 直接使用 | multikv,可以提取出表格的字段
index=main | multikv
- 像开头他的字段并不在第一行,可以把表格字段设置为第二行
index=main | multikv forceheader=2
- noheader 参数,假如multikv的时候,没有表头(字段),用了这个noheader参数,multikv自动给你生成字段名
index=main | multikv noheader=t
- rmorig 参数默认为true,改成false之后会连同原始事件都一起展示出来
index=main | multikv rmorig=false
- multikv 本身通过空格来分割字段和值。假如用tab来分割,默认使用multikv会失效,提取不到字段。这种情况下要使用增强的特性,创建一个conf配置文件。
- multikv.conf 文件(etc/system/local),有四部分可以定制:pre、header、body、post 。
- 这部分没有什么用的,就是pre部分,可以忽略掉,也可以保存为一个字符串。
- header就是 PID、COMMAND、%CPU … 那一行
- body就是数据值
- post就是指下一个事件
[top_mkv]
pre.start="Process"
pre.end="PID"
pre.ignore= _all_
header.start="PID"
header.linecount=1
header.replace= "%" = "_" , "#" = "_"
header.tokens = _tokenize_ , -1 , " " # -1for complete tokenization , 0 to inherit from previous section (usually header) , a none zero number for a specific token count
body.end = "Process"
body.tokens = _tokenize_ , 0 , " "
[tab_mkv]
header.start="CPU"
header.linecount=1
header.tokens= _tokenize_,-1," "
body.tokens=_tokenize_,-1,"\t"
- 写完还要放到 $SPLUNK_HOME/etc/system/local/multikv.conf ,然后重启后在输入命令multikv 加参数使用
index=main | multikv conf=tab_mkv