はじめに
他のエントリのための補足エントリとしても使いたかったので書きました
また、シンボリックリンクとちょっとした仕組みでもできます。それについてはこちら →td-agent(fluentd)で日付指定のログをtailする①-シンボリックリンクでやる
補足
そんなにテクニカルでも有用でもないカモですがこちらにメモまとめをメモっておきました →td-agent(fluentd)を本番サ―ビスで小さく使ってみたメモ-まとめ
ながれ
作業は短いですがこんな感じです
- tail_exプラグインをインストール
- td-agent.confのsourceディレクティブにtail_exを指定する
- 試してみる
ってことで作業
1. tail_exプラグインをインストール
プラグインをgemインストールします
# sudo /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-tail-ex
2.td-agent.confのsourceディレクティブにtail_exを指定する
sourceディレクティブはこんな感じになります
※aclog.login.2014-05-15みたいなファイルを指定したい
<source> type tail_ex format json path /hoge/fuga/piyo/aclog/aclog.*.%Y-%m-%d pos_file /hoge/fuga/piyo/pos/aclog.pos tag project.aclog.* </source>
※後述しますが、emitされるタグはこんな感じになります
project.aclog.hoge.fuga.piyo.aclog.aclog.point.2014-05-15
3.試してみる
- tailするファイル用意
# pwd /hoge/fuga/piyo/aclog # ls -l 合計 8 -rw-r--r-- 1 root wheel 552 5月 15 18:36 2014 aclog.login.2014-05-15 -rw-r--r-- 1 root wheel 887 5月 15 18:36 2014 aclog.point.2014-05-15
- 確認用にoutputしてみるためのフォルダ用意
# pwd /hoge/fuga/piyo # mkdir out
- tail_exの後にoutputするconfigを追記
# sudo vi /etc/td-agent/td-agent.conf ----vi追記---- <match project.aclog.**> type forest subtype file remove_prefix project.aclog <template> time_slice_format %Y_%m_%d path /home/hoge/fuga/piyo/out/__TAG__ compress gzip </template> </match> --------------
*お試し実行 うまくtail_ex→outしてみるとこんな感じで出力されます
# pwd /hoge/fuga/piyo/out # ls hoge.fuga.piyo.aclog.aclog.point.2014-05-15.2014_05_15.b4f96d2c9ef14ac19 # cat hoge.fuga.piyo.aclog.aclog.point.2014-05-15.2014_05_15.b4f96d2c9ef14ac19 2014-05-15T18:46:42+09:00 hoge.fuga.piyo.aclog.aclog.point.2014-05-15 {"info":{"uid":"001","func":2,"func_detail":1,"rid":"97c7c2bf9eb8b7a759f6b9e76763bb48","pid":16552,"hn":"sv1.co.jp","ts":"2014-05-15 18:46:42"},"val":{"total":10,"add":[10,0]}}
ファイル名の後ろに日付が2つくっついちゃってますが、
前半はtail_exで指定した日付、後者はtime_slice_formatの日付です。
time_slice_formatは省略してもデフォルトの%Y%m%dの形で付加されます。
ってことで、こちらもこれだけですが切り出せてよかったーver.2