-
Couldn't load subscription status.
- Fork 261
CSV Parser
Sun Jianbo edited this page Mar 5, 2018
·
4 revisions
CSV Parser 是一种按分隔符解析日志的解析方式。
CSV parser是按行读取日志的,对于每一行,以分隔符分隔,然后通过csv_schema命名分隔出来的字段名称以及字段类型。
默认情况下CSV是按\t分隔日志的,可以配置的分隔符包括但不限于, 各类字母、数字、特殊符号(#、!、*、@、%、^、...)等等。
"parser":{
"name":"req_csv",
"type":"csv",
"csv_splitter":"\t",
"csv_schema":"logtype string, service string, timestamp long, method string, path string , reqheader jsonmap, hello jsonmap{a string,b float}, hi jsonmap{a long,...}",
"labels":"machine nb110,team pandora"
},
-
csv_schema是按照逗号分隔的字符串,每个部分格式按照字段名 字段类型构成,字段类型现在支持string,long,jsonmap,float,date。 -
labels填一些额外的标签信息,同样逗号分隔,每个部分由空格隔开,左边是标签的key,右边是value。 -
csv_splittercsv文件的分隔符定义,默认为'\t' - 类型说明
-
stringgo 的string -
longgo 的int64 -
floatgo 的float64 -
date时间类型,具体参见grok date字段解析类型 -
jsonmap将json反序列化为map[string]interface{},key必须为字符串格式,value为string,long或者float。如果value不属于这三种格式,将会强制将value转成string类型 -
jsonmap如果要指定jsonmap key的类型并且选定一些jsonmap中的key,那么只要用花括号包含选定的key以及其类型即可,里面的语法与外部相同也是以逗号","分隔不同的key和类型。目前不支持嵌套的jsonmap,如果除了选定的key,其他的key也要,就以”...“结尾即可。
-
- Parser中解析出的字段就是csv_schema中命名的字段,还包括labels中定义的标签名,可以在sender中选择需要发送的字段和标签。
-
disable_record_errdata默认为false,解析失败的数据会默认出现在"pandora_stash"字段,该选项可以禁止记录解析失败的数据。
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版