Go ahead!

Memoization for Everything

Fluentd UI

| Comments

fluent/fluentd-ui

"Fluentd UI image"

Fluentdのエコシステムの一つとして,Fluentd UIをリリースしました. すでに試してくれたユーザもいるようなので,現在の使用感などは下記の記事を参考にしてください.

この記事ではFluentd UIそのものについてつらつらと書きたいと思います.英語でのアナウンスもいずれ公式ブログに載るはず.

Fluentd UIの生い立ち

Fluentd UIの背景として,Fluentdも最近は国を問わず色々な所でユーザが増えてきており, 「CLIとか楽勝!」以外のユーザの割合も増えつつあります.

ログコレクタでリッチな管理UIを持っているプロダクトってほとんどないと思うのですが, 新しく使い始めるユーザの嵌まり所とか見ていると, GUIの方が始めるための敷居が下がりそうなポイントがいくつかありました.

なので,Fluentdを使いたい人がなるべく嵌まらずに始められるようにと, 万葉の方と開発したのがFluentd UIです.

Fluentd UIのコンセプト

生い立ちの所で書いた通り,Fluentdの敷居を下げるのが第一の目的なので, すでにFluentdをバリバリ使っている人はユーザの対象ではありません.

バージョン0.1.0の段階で,以下の機能があります:

  • Fluentdのプロセスの管理 (start/stop/restart)
  • Fluentdの設定ファイルの管理と編集
  • Fluentdのプラグインの管理 (install/uninstall/update)
  • ログやシステム情報のビューワー,などなど

最初に色々機能を洗い出したのですが,全部入れるとリリースが遅れるし, 複雑なのを入れるとユーザが混乱するかもということで,ベーシックな機能セットに絞りました.
それでも,プラグイン入れての挙動チェックなど,全部Webから出来るようになっています.また, ユーザがテストしにくかったin_tailは,Fluentularを参考にかなり使いやすいUIになったと思います.

実装的にもかなり依存を減らしていて,例えば,最初はSQLiteベースだったのですが, 「SQLiteだとFluentd UIそのもののセットアップに嵌まる人が出る可能性がある」とファイルベースに変更したりしました.

Fluentd UIの今後の展望

機能追加

バージョン0.1.0ということから分かる通り,まだまだ始まったばかりのプロダクトで, 今回は開発者側が「こういう機能があったら始めやすいだろう」というものを中心に入れました.
今後はユーザからのフィードバックも受けつつ,更に使いやすさを改善して行けたらなと.

現状各プラグインの設定を削除する時は,自分でフリーフォームから消す必要があるので, この辺もボタンで消せるようにとか,出来たらいいかなぁと考えてます.
あと,今設定が組み込みで実装してあるので(インストールした3rd partyプラグイン用の設定ページがない), 各プラグインから自動で設定ページが生成できるような仕組みも必要かなと,色々と模索中です.

td-agent 2への同梱

td-agentには同梱予定はないんですが,td-agent 2にはtd-agent-uiみたいな感じで同梱する予定です.すでに起動した人は知っていると思いますが,td-agentをセットアップする用のボタンがあります :)

他の環境との連携

Fluentd UIは,UI上で色々と試行錯誤しその結果出来た設定ファイルをChefとかで配布, みたいなのを想定しているのですが,毎回コピペとか面倒ですし, 最近だとfluentd-serverとかもあるので,この辺なんか上手くやりたいな,と.

まとめ

Fluentd UIについて背景含めつらつらと書きました.是非試して頂いて,問題があったらissue投げるなりPRなりしてもらえると助かります!

あ,ちなみに最初のリリースは俺がやりましたが,開発はコミットを見れば分かる通りuu59さんでちゃんとしたRailsコードになっているので,ご心配なく!

Comments