rtailというリモートサーバからログを受信してまとめて表示するCloudWatch LogsのようなOSSがありまして、クライアントのソースコードを読んだところUDPでメッセージを送っているだけだったので、fluentdのプラグインを書いてみました。
winebarrel/fluent-plugin-rtail: Fluentd output plugin for rtail.
インストール
gem install fluent-plugin-rtail
動かしてみる
rtail-serverを起動して、localhost:8888にアクセスします。
rtail-server
fluentdを以下のような設定で起動します。
<source>
@type forward
@id forward_input
@label @forward_input
</source>
<label @forward_input>
<match **>
@type rtail
flush_interval 0s
</match>
</label>
fluentdにログを投げます。
echo '{"id":"foo","content":"Zzz.."}' | fluent-cat -t rtail.data
rtailのほうで、fooというストリームが作成されて、fluentdから送られてきたログが表示されます。

そのた
-
use_tag_as_id: true
とすると、タグをストリームIDにします -
use_record_as_content: true
とすると、フィールドの値ではなくレコードそのものをrtailに送信します(rtailはJSONを構造化されたデータとして扱います)
どうぞご利用ください。
メリークリスマス