flutendが各ノードで扱うデータの流れは、大まかに2種類。
- アプリの統計情報→fluentd→influxdb
- dstat→fluentd(→dstat情報の整形)→influxdb
dstatからの入力は、fluent-plugin-dstat。
dstatの入力を、influxdbに流すために整形(というより要素ごとに分解)する必要がありますが、やることはそれくらいのはずです。
タグの整形をどうすべきか
さて、しかしその整形を気に入った形にしようとしたら、妙に時間を取られてしまいました。プラグインで自由に拡張できるfluentdであり、選択肢はすぐにいくつも見つかったのですが…書き換えたらそこで仕事を終了して、またmatchの方に回すものが大半です。プリミティブな処理をチェーンしていく思想はわかりますが、今回やらなければならないのはそうではなく。
influxdbに出したいものは influx.* というタグで整理して <match influx> でひっかけて、この中にinfluxdbプラグインの設定を書いています。このinfluxdbプラグイン、タグ名がそのままinfluxdbのseriesとして使われるため、influx.dstat.node1.memory みたいな名前になってしまいます。influxdbに入れるデータにinfluxって付けたくないじゃろ…
結局、これを fluent-plugin-forest で実現しました。
ただ remove_prefix したいだけなのに大袈裟な気がします。何かもっといい方法はあるんでしょうか?
0 件のコメント:
コメントを投稿