9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

fluentdでout_fileで出力されるファイルのパスを固定する方法

Posted at

困っていること

fluentdのout_fileを使っているときに、pathのオプションでパスを指定しても、タイムスタンプや連番を付いて出力されてしまうので、出力するパスを固定することができません。

例えば以下のように設定すると、

<match td.test>
   type file
   path /tmp/out
</match>

以下のようなログが出て、パスを固定できません。

/tmp/out.20140919_0.log
/tmp/out.20140919_1.log

パスが固定できないと運用監視ツールでログ監視ができないのでこまります

解決法

で、出力するファイルのパスを固定する方法を考えてみました。
というかプラグインを作ってみました

Fluent::Plugin::FileOutputWithFixPath

使い方は簡単。

まずfluentで使うgemでfluent-plugin-out-file-with-fix-pathというgemをインストールします

# /opt/td-agent/embedded/bin/gem install fluent-plugin-out-file-with-fix-path

/opt/td-agent/embedded/bin/gemの部分はお使いの環境に合わせてください。

設定に以下のように書きます

<match td.test>
   type file_with_fix_path
   path /tmp/out
</match>

すると、出力されるファイルのパスが以下のように固定されます

/tmp/out

弊害として、out_fileでは使えたtime_formatやらcompressやらのオプションが使えなくなります。

もしよければ使ってみてください。
「gemの名前が長い!」というツッコミは勘弁してくださいw

9
7
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?