fluentd経由でlogをMongoDBに突っ込む
諸事情により、fluentd経由でlogをMongoDBに突っ込むのを試してみたので、そのメモ(人生初。最近多い)
1時間程度しか触ってないし、個人的なメモなので、ツッコミどころあればコメントしてください(おてやわらかに🙏)
なお、インストールしたのはFluentd v0.12.19。
動かすまでの手順
インストール
gem install fluentd --no-ri --no-rdoc gem install fluent-plugin-mongo
起動
fluentd --setup ./fluent fluentd -c ./fluent/fluent.conf -vv
設定ファイル
fluentd.conf
<source> @type tail format json path /tmp/hoge.log pos_file /tmp/fluentd.log tag mongomongo.test </source> <filter mongomongo.**> @type record_transformer <record> _id "${code}.aaa.${time}" </record> </filter> <match mongomongo.**> @type copy <store> @type stdout </store> <store> @type mongo host localhost port 27017 database test collection fluentd_test # key name of timestamp time_key time # flush flush_interval 10s </store> </match>
何をしたか?
JSON形式の/tmp/hoge.log
をtailして、code
とtime
というフィールドから_id
という新しいフィールドを作って、Mongoに流した。
覚えたモノ
この辺。
http://docs.fluentd.org/articles/in_taildocs.fluentd.org
http://docs.fluentd.org/articles/out_copydocs.fluentd.org
今日はここまで!
明日もうちょい真面目に調べます・・・