fluentd数据解析Parse(四)
目录
警告
本文最后更新于 2021-03-29 16:12,文中内容可能已过时。
官方文档:https://docs.fluentd.org/configuration/parse-section
Parse区块来指定如何解析原始数据。Parse可以在
|
|
下面是一些内置的解析器类型:
- regexp
- apache2
- apache_error
- nginx
- syslog
- csv
- tsv
- ltsv
- json
- multiline
- none
通过@type参数来指定解析器插件的类型
|
|
解析器的参数(可选):
types(hash类型-kv):用于将字段转换为其他类型
默认:无
字符串转换:field1:type, field2:type, field3:type:option, field4:type:option
json转换:{"field1":"type", "field2":"type", "field3":"type:option", "field4":"type:option"}
示例:types user_id:integer,paid:bool,paid_usd_amount:float
支持的字段类型:string、bool、integer、float、time、array
time_key(字符串类型):从事件的什么字段中获取时间,如果该字段不存在,则取当前时间
null_empty_string:将空值替换为nil,默认为false
estimate_current_event(布尔型):是否以当前时间作为time_key的值,默认false
keep_time_key(布尔型):是否保留事件中的时间字段
timeout:检测错误的正则表达式匹配超时时间。
下面是一个解析nginx访问日志的简单示例
|
|
###时间参数:
time_type:enum
可选值:float:UNIX时间.纳秒、unixtime: UNIX时间(秒)、string:根据后面几个参数决定具体格式
time_format:string
参考Ruby API:时间格式化、时间解析,除了遵循Ruby的时间格式化,还可以取值%iso8601
localtime:bool
是否使用本地时间而非UTC,默认true
utc:bool
是否使用UTC而非本地时间,默认false
timezone:string
指定时区,例如+09:00、+0900、+09、Asia/Shanghai
请我喝杯水
微信号
微信打赏