您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Fluentd中out_copy如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
示例配置
<match pattern> @type copy <store> @type file path /var/log/fluent/myapp1 ... </store> <store> ... </store> <store> ... </store></match>
這個(gè)示例將日志輸出到本地文件和其他n個(gè)目的地。
這些目的地由<store>進(jìn)行指定。
參數(shù)說明
@type
插件類型,取值為copy
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速度很慢。
<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ò),可以把它分享出去讓更多的人看到。
免責(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)容。