node.js+fluentdを使ってMongoLabのMongoDBでログを収集
Fluentdのインストールはこちらを参考に
nodeへの設定方法はこちらを参考にしました。
td-agent.conf
/etc/td-agent/td-agent.confは以下になりました。
<source> type forward port 24224 </source> <match fluentd.mongo.**> type mongo database dbname collection logs host ds000000.mongolab.com port 99999 user username password password flush_interval 10s </match>
サンプルコード
var logger = require('fluent-logger'); logger.configure('fluentd.mongo', {host: 'localhost', port: 24224}); logger.emit('test', {message: 'hoge'});
出力結果
mongolabのブラウザから確認するとログが取得できてました。
{ "_id": { "$oid": "51501392d3df673162000001" }, "message": "hoge", "time": { "$date": "2013-03-25T09:06:20.163Z" } }
別のInputプラグインを使用すれば他の言語でも簡単に組み込めそうです。