notebook

都内でWEB系エンジニアやってます。

td-agent2を使ってみる

FluentUIを使ってみたい!

色々面倒なことになる前に、バージョン上げたい!

ということで試してみました。

環境: CentOS6.4

参考 Treasure Agent(td-agent)の1と2の今後

設定ファイルは後方互換性があるようなので問題ないらしい

なにはともあれ使ってみましょう

インストール

curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

前と一緒、簡単

fluent ui

起動

/usr/sbin/td-agent-ui start

9292番でWebへのアクセスができるようなのでアクセスしてみます

ログインは下記

アカウント名: admin
パスワード: changeme

ダッシュボード

この画面からstart,stop,restart等が行え、さらにログも監視することができる

デバッグ時などはここみながら試すことができますね

f:id:swfz:20150902003458p:plain

プラグイン管理

プラグインもボタン一つでインストール

f:id:swfz:20150902003517p:plain

アンインストール、更新があればアップデートもできるようになっている!これは便利!というかもはや使わない理由がない。。。

f:id:swfz:20150902003527p:plain

コマンドラインからのプラグインインストール

ansibleとかchefとかでインストールする場合はコマンドラインなので下記コマンドで

管理画面からもインストールできた事が確認できました

/usr/sbin/td-agent-gem install fluent-plugin-config-expander

入力と出力の設定

入力と出力が可視化されています

f:id:swfz:20150902003537p:plain

タブにはタグ名が入っていてクリックすれば設定が展開されるようになっています

基本的な設定は自動で補完してくれるので、今まで書くプラグインのREADME見ながら必要そうな値を付けて再起動して試してっていうプロセスがいらないのはとても楽です

また、オプショナルな設定も「高度な設定」タブで設定できるのである程度の設定なら管理画面で完結できそう

設定ファイルの編集

履歴と差分機能がついていて復元とかもできる模様

これは試行錯誤するときに便利そう

f:id:swfz:20150902003546p:plain

エラーログ

直近5日以内のエラーログも見れるようになっている模様

運用入ってから定期的にチェックしたり。。。するかはわかりませんが。。w

f:id:swfz:20150902003601p:plain

実践

ざっとみてきたところで一つ設定を反映してみたいと思います

  • 2台サーバを用意
    • ( 1 ) nginx,td-agent2
    • ( 2 ) td-agent2
    • ( 3 ) elasticsaerch
  • 1でnginxのログを入力、出力を2にforward
  • 2は受け取ったログをelasticsaerchへ転送

1 nginx(td-agent2) -> 2 td-agent2 -> 3 elasticsaerch

という流れ

もともとあった設定を使ったので特にはまったところはなかったです

正規表現の設定のところは参考先にもあったのと、アップ用の編集が面倒だったので割愛。。。でも感動しました。

フィールドがツールチップでポップアップしたり色がついたりとまぁわかりやすい!!

これだけのためにでもバージョン上げていいのでは?と思いました

ただ、安易に上げるのは危険そうですね

1ではキャレット^とアンカー$を指定して正規表現をかけていたが、2ではうまくパースできなかった

これはもともとの設定が悪かったのかな。。。w

バージョン上げる時にはしっかり確認しようと思います

あとは、ファイル入力でregexpを指定してtime formatを入力しても設定には反映されない現象に遭遇した。バグかな。。。

実際に触ってみて確認したのは下記

  • 簡単な設定ならWebで完結できる
    • 追加、編集、オプションの自動付与
    • 正規表現が色をつけてくれるのでわかりやすい
  • Webからtd-agentの起動、停止、再起動が行える
    • 設定変えたら自動で再起動してくれる?
  • プラグインの管理ができる
  • エラーのチェックができる

感想

ちょっと試してみた感じですがとても便利です!

今まで設定と確認に時間が掛っていたので導入から確認までのプロセスが大分楽になりそうです

forestとかcopyとかcast使うって話でもいちいちターミナルからtailしてみたり、とかそういう必要がなくなったのでデバッグが楽になりそう

ただ、プロビジョニングとか考えたら基本的には開発というか確認で使うのかな、、という印象

あとは欲を言えば複雑な設定(copy,forestなど)をしたときにどのタグがどういう流れで最終的にどこに行きつくかっていう図が欲しい。。

このタグがここを通って結局こことここに行く。。。のか?っていうときがあるので可視化されてたらとてもありがたいと思います

早く担当システムでもバージョン上げてしまいたいと思いました。