out_copy とout_relabel の組み合わせによるイベントの挙動を教えてください #4223
-
forwarder から受信したevent を全量all.log に出力したい。かつ、record 中でlevel:info のkey:value を持つ場合はinfo.log にも出力したい( level ごとのファイルと、全量ファイルを出力したい)です。 出力自体の実現はできているのですが、fluentd の挙動が分からないのでもしよければ教えてください。 以下のように設定しているのですが、out_copy のmode:no_copy はあくまで「event をplugin 間で共有している」とあります。 このため、設定上は@rewrite_tag でも@all_out_file でもevent は共有されていると思っています。
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
やりたいことはできているが、疑問点が残っている、ということですかね? 以下、僕の理解を説明します。
timeとrecordを共有することになります。 これはドキュメントがやや不正確だと思いました。 tagはイベントのルーティングに使われるもので、timeとrecordとは少し異質なんです。 同じイベントの構成要素でもtagだけはちょっと異質なんだな、 まとめると、 |
Beta Was this translation helpful? Give feedback.
やりたいことはできているが、疑問点が残っている、ということですかね?
もしもっとこれがこうならこうできて嬉しい、という点があれば教えてください!
以下、僕の理解を説明します。
out_copy
のcopy_mode no_copy
(デフォルト)は、複製していません!複製せずに同じオブジェクトを各
store
に渡します。(同じオブジェクトを共有します)そのため処理効率は良いですが、どこかの
store
でイベントに変更を加える場合は、意図せず他に影響することを防ぐために必要に応じてshallow
やdeep
を設定することになります。timeとrecordを共有することになります。
これはドキュメントがやや不正確だと思いました。
ドキュメントで…