Fluentd中out_copy如何使用

这篇文章将为大家详细讲解有关Fluentd中out_copy如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联建站长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为勃利企业提供专业的成都网站制作、网站设计,勃利网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

copy即复制,out_copy的作用就是将日志事件复制到多个输出,这样就可以对同一份日志做不同类型的分析处理。  
out_copy内置于Fluentd,无需单独安装。    
  1. 示例配置

      @type copy      @type file    path /var/log/fluent/myapp1    ...        ...        ...  
     

    这个示例将日志输出到本地文件和其他n个目的地。

    这些目的地由进行指定。

  2. 参数说明

    1. @type

      插件类型,取值为copy

    2. copy_mode

      指定日志事件在插件间的传递方式。

      包含以下几种传递方式:

      no_copy:

      不产生日志拷贝,各共享一份日志事件。

       这是默认的传递方式。

      这意味着,如果某个对日志进行了修改,其他也会继承这个修改。

      shallow:

      采用浅拷贝的方式在之间传递日志事件。

      复制是为了避免某个对日志的修改会影响到其他

      浅拷贝和深拷贝是对象复制的两种方式,主要是针对对象中是否存在嵌套引用对象的情况。

      如果对象嵌套引用了其他对象,浅拷贝不会对引用对象进行复制,而深拷贝则会复制引用对象指向的内容。

      如果中的插件要修改日志事件,但不对嵌套的引用对象进行修改,则可以使用shallow拷贝;

      如果需要修改嵌套的引用对象,则需要使用下边两种深拷贝方式。

      deep:

      采用深拷贝的方式在插件中传递日志事件。

      其内部使用msgpack-ruby进行数据拷贝。

      marshal:

      如果msgpack-ruby无法进行数据深拷贝,则可以尝试使用marshal这种方式。

      需要注意的是,marshal速度很慢。

    3. 指定存储目的地。其使用方法和相似,可以在其中使用各种输出插件。

      out_copy插件至少要配置一个

      支持一个可选的参数:ignore_error。

      在使用多个的场景下,若某个抛出了错误,会影响到其他

      比如:

        @type copy      @type plugin1        @type plugin2  

      如果plugin1发生错误,plugin2便不会被执行。

      可在中启用ignore_error,以避免此种情况的发生。

        @type copy      @type plugin1        @type plugin2  

关于Fluentd中out_copy如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章标题:Fluentd中out_copy如何使用
URL链接:http://hbruida.cn/article/pecodg.html