溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Fluentd中out_copy如何使用

發(fā)布時(shí)間:2021-06-23 14:08:18 來源:億速云 閱讀:302 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)Fluentd中out_copy如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

copy即復(fù)制,out_copy的作用就是將日志事件復(fù)制到多個(gè)輸出,這樣就可以對(duì)同一份日志做不同類型的分析處理。  
out_copy內(nèi)置于Fluentd,無需單獨(dú)安裝。    
  1. 示例配置

    <match pattern>  @type copy  <store>    @type file    path /var/log/fluent/myapp1    ...  </store>  <store>    ...  </store>  <store>    ...  </store></match>
     

    這個(gè)示例將日志輸出到本地文件和其他n個(gè)目的地。

    這些目的地由<store>進(jìn)行指定。


  2. 參數(shù)說明

    1. @type

      插件類型,取值為copy


    2. copy_mode

      指定日志事件在<store>插件間的傳遞方式。

      包含以下幾種傳遞方式:

      no_copy:

      不產(chǎn)生日志拷貝,各<store>共享一份日志事件。

       這是默認(rèn)的傳遞方式。

      這意味著,如果某個(gè)<store>對(duì)日志進(jìn)行了修改,其他<store>也會(huì)繼承這個(gè)修改。


      shallow:

      采用淺拷貝的方式在<store>之間傳遞日志事件。


      復(fù)制是為了避免某個(gè)<store>對(duì)日志的修改會(huì)影響到其他<store>。

      淺拷貝和深拷貝是對(duì)象復(fù)制的兩種方式,主要是針對(duì)對(duì)象中是否存在嵌套引用對(duì)象的情況。

      如果對(duì)象嵌套引用了其他對(duì)象,淺拷貝不會(huì)對(duì)引用對(duì)象進(jìn)行復(fù)制,而深拷貝則會(huì)復(fù)制引用對(duì)象指向的內(nèi)容。

      如果<store>中的插件要修改日志事件,但不對(duì)嵌套的引用對(duì)象進(jìn)行修改,則可以使用shallow拷貝;

      如果<store>需要修改嵌套的引用對(duì)象,則需要使用下邊兩種深拷貝方式。


      deep:

      采用深拷貝的方式在<store>插件中傳遞日志事件。

      其內(nèi)部使用msgpack-ruby進(jìn)行數(shù)據(jù)拷貝。


      marshal:

      如果msgpack-ruby無法進(jìn)行數(shù)據(jù)深拷貝,則可以嘗試使用marshal這種方式。

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


    3. <store>

      指定存儲(chǔ)目的地。其使用方法和<match>相似,可以在其中使用各種輸出插件。

      out_copy插件至少要配置一個(gè)<store>。


      <store>支持一個(gè)可選的參數(shù):ignore_error。

      在使用多個(gè)<store>的場景下,若某個(gè)<store>拋出了錯(cuò)誤,會(huì)影響到其他<store>。

      比如:

      <match app.**>  @type copy  <store>    @type plugin1  </store>  <store>    @type plugin2  </store></match>

      如果plugin1發(fā)生錯(cuò)誤,plugin2便不會(huì)被執(zhí)行。

      可在<store>中啟用ignore_error,以避免此種情況的發(fā)生。

      <match app.**>  @type copy  <store ignore_error>    @type plugin1  </store>  <store>    @type plugin2  </store></match>


關(guān)于Fluentd中out_copy如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI