share facebook facebook2 twitter menu hatena pocket slack

2014.08.08 FRI

Touch the fluentd-ui(1)

川原 洋平

WRITTEN BY川原 洋平

って英語でタイトル書いてますが…やっていることは触ってみたレベルですいません。 かっぱ@inokara)です。


はじめに

fluentd をブラウザから操作出来るというなんとも画期的なツールが公開されたようなので触ってみたいと思います。

fluentd クラスタをブラウザから操作出来るツールとしては @sonots さんが作られた Haikanko というツールもありますが、fluent/fluentd-ui は自ホストに特化した UI ツールのようです。

主な機能としては…

  • fluentd / td-agent の導入
  • Web UI による fluentd.conf や td-agent.conf の設定
  • プラグイン管理(導入、アンインストール、アップデート)
  • 稼働ログの確認

等…従来は SSH でログインして行っていたようなことがブラウザから操作出来るようです。


参考


インストール

インストールした環境

  • Amazon Linux(Amazon Linux AMI release 2014.03 / ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux])

事前準備

sudo yum install gcc gcc-c++ openssl-devel ruby-devel.noarch patch

bundle install で…

とりあえず gem でのインストールは置いといて git clone からの bundler install でインストールしてみます。

bundle install

すると…

01

いけました。


起動と fluentd のセットアップ

bundle exec rails s

以下の通り起動しました。上記の通りホストの 3000 ポートで起動しています。

02

ブラウザからアクセスしてみます。

03

デフォルトのユーザー名は admin でパスワードは changeme です。正しく認証が行われると以下のような画面が表示されます。

04

fluentd をセットアップのみが有効なのは root 権限で fluentd-ui を起動していないからだと思われますので、とりあえずは fluentd をセットアップするので fluentd をセットアップ をクリックすると以下のように表示されます。

05

作成をクリックすると以下のように表示されます。

06

開始をクリックすると…

07

fluentd が起動したようです。また、ログも以下のように表示されています。

08


魅力的な機能

おお、すげえ!と思った機能をピックアップしながら fluentd-ui だけで fluentd の設定を行って /var/log/messages を /tmp/hoge に書き出すまでを設定してみたいと思います。

ソースと出力先の設定

ソースと出力先の設定を選択すると以下のように fluentd を介して Input と Output が視覚的に設定可能な画面が表示されます。

09

おお、これは解りやすい。

ファイル

ファイルをクリックすると以下のように Input の対象となるログファイルを指定するページが表示されます。今回は /var/log/messages の権限を事前 644 に変更しておきましたので選択します。

10

おお、これも解りやすい。

フォーマットの設定

個人的にはこの機能が特にイケてると思いました。

11

読み込むログのフォーマットの各項目が色別にハイライトされています。format には以下のように fluetnd で標準で利用可能な format を選ぶことが出来ます。

  • apache2
  • nginx
  • syslog
  • tsv
  • csv
  • ltsv
  • json

もちろん、ログによって使い分ける必要がありますのでご注意下さい。また、regexp をチェックすれば以下のように独自に正規表現を書くことも出来ますので従来利用していた fluentular.herokuapp.com と同じような使い方が出来るのではないかなと思います。

12

確認して次へをクリックします。

その他の設定

tag の設定等を行います。

13

とりあえず tag だけ設定して次へをクリックすると以下のように Input の設定が出力されます。

real13

設定する をクリックすると以下のように fluentd.conf が表示されます。

15

先ほど Input に設定したログは /tmp/hoge に出力したいので設定ファイルを下記のように修正します。修正は 編集 ボタンをクリックすると修正が可能です。

16

修正後に 更新 をクリックすると設定が反映されます。


ログを送ってみる

messages にログを送る

以下のようにして logger コマンドを利用してログを送ります。

logger -i log_test_message

fluentd-ui で確認する

type stdout を指定しているので fluentd-ui のログメニューで確認してみます。

17

おお、ログが記録されてます。


とりあえず…

fluentd-ui をインストールして簡単なログ出力までを試してみましたので簡単に使用感をまとめてみます。

感動した点

  • ログのフォーマットを自動で認識してハイライトしてくれる
  • 設定ファイルを UI 上で修正出来る
  • 設定ファイルのシンタックスエラー等はエラーログに出力される!

まだ試せてないこと

  • プラグイン管理
  • Output プラグイン自体の設定

Input や Outputの設定やフォーマットのsっていを Web UI で出来るのは「ちょっと fluentd を試してみよう!」とかフォーマットの正規表現にちょっと二の足を踏んでいるようなユーザー(自分のような…)にはかなり嬉しいツールではないでしょうか!

今後も引き続き試していきたいと思います。

元記事は、こちら