fluent-plugin-mongoに突っ込んでみる
ツッコミっていう意味じゃないです。README.mdを読みつつ進めてみようかと
tag_mappedってなんぞ?
とりあえずやったれ
<source>
type forward
</source>
<match accesslog.**>
type mongo
database fluent
tag_mapped
remove_tag_prefix accesslog.
flush_interval 1s
</match>
という感じでfluentdを動かしておいて
echo "{"data":[]}" | fluent-cat accesslog.test1
な感じで動かしてみて、MongoDB側見てみると
show collections
# 出力(system.indexesは除外): test1
というようになる。fluentdで認識するtagを元にコレクションを決めるんかなと。でremove_tag_prefixを指定しなかったらタグがそっくりそのままコレクションになる模様で、上記の場合だとaccesslog.test1っていうタグがそのままコレクション名になる模様。レプリカセットの場合はnodesで指定すれば良いんだと思われる。未検証
mongo-tail
まぁcappedでtailableなカーソルを使ってfluentdに飛ばす的な事してるって言ったら良いんかな
<source>
type mongo_tail
database sample
collection samples
id_store_file last_id
tag sample.test
</source>
<match sample.**>
type file
path sample
flush_interval 1s
</match>