Fluentd中如何解析配置项

发布时间:2021-11-09 17:15:18 作者:柒染
来源:亿速云 阅读:378

Fluentd的某些插件支持<parse>配置项,用来自定义对输入数据的解析方法。

比如,对于一般的应用程序,输入给Fluentd的就是一行行的文本,开发者可以通过配置将文本解析成具有实际意义的JSON对象,方便后续处理。

  1. parse概览
    parse配置项可以使用在<source>、<match>或<filter>中。如果使用的插件支持解析器特性,parse配置项就会生效。
    <source>  @type tail  # parameters for input plugin  <parse>    # parse section parameters  </parse></source>

    这里,对于tail的输入,需要由parse指定的解析器来解析。

    解析器插件类型

  2. <parse>配置项需要通过@type参数来指定解析器的类型。Fluentd内核绑定了很多有用的解析器插件,也可以根据需要安装其他第三方解析器。
    <parse>  @type apache2</parse>
     

    这里,@type指定使用apache2这个解析器来解析输入日志。



  3. parse参数说明
    1. @type
      Fluentd内置的解析器包含:regexp、apache2、apache_error、nginx、syslog、csv、tsv、ltsv、json、multiline、none    
    2. 可选参数,这些参数的默认值会随使用的解析器不同而改变,具体使用时可参考相关解析器的使用说明。
      1. types:用于转换字段的数据类型,支持的数据类型为:string、bool、integer、float、time
        types user_id:integer,paid:bool,paid_usd_amount:float
           

      2. time_key:指定事件time属性使用的字段,若事件不含此字段,将使用当前时间
      3. keep_time_key:true则保留record中的time字段,默认false
      4. timeout:设置解析处理超时时间,主要用于检测错误的正则匹配      
    3. 对time的进一步说明
      如果把record的某个字段解析为事件的time,则需要说明如何去解析这个“时间字段”。可通过以下参数进行说明。
      1. time_type:时间字段使用的时间格式,支持float、unixtime和string格式。
        float: seconds from Epoch + nano seconds (e.g. 1510544836.154709804)unixtime: seconds from Epoch (e.g. 1510544815)string: use format specified by time_format, local time or time zone
      2. time_format:用以说明time_type为string时的时间格式
      3. localtime:true则使用local time作为事件的time
      4. utc:true则使用UTC作为事件的time,和上边的localtime是互斥配置
      5. timezone:时区格式      


推荐阅读:
  1. fluentd 解析httpd日志
  2. Zookeeper常见基本配置项和高级配置项说明

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

fluentd

上一篇:如何进行的加载及配置文件的解析

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》