2013年11月23日
ログ集約の仕組みに「fluentd」を構築してみた。
ログ集約サーバとしてfluentdを構築しました。
http://fluentd.org/
まず、ログの知識として、
・/var/log配下に吐かれる。
・/var/log/messagesくらいしか使わない
・障害対応は、障害を検知したサーバ一つ一つにログインして調べる
今まではこれくらいで充分でした。
たいてい、どこのサーバが、何のアプリケーションでこけているか
くらいしか分からなく、対応するのはサービスの再起動か、
設定ファイルの修正といったところでしょうか。
fluentdは、ログ集約に使うOSSです。
名前すら聞いたこと無かったですが、かなり便利な代物で、
結構いろんなところで記事が上がっていますね。
それでも、細かいことについては書いてあるところがなくて、
それくらいわかるでしょ?的なスマートなエンジニアたちの備忘録ばかりだったりします。
ログを収集して1つのファイルにまとめたり、他のサーバに転送したり
という目的で作られていて、吐かれたログをJSON形式で成形して、
例えば、
"host":"192.168.1.1",
"status":"Error",
"code":"404",
などのように成形してくれます。、
また、ログファイルごとに、タグをつけて、
このタグはこのディレクトリにこういう風に成形して保存してね。
といったカスタマイズができます。
なので、100台のサーバのログ集約を1台のサーバで
ディレクトリごとにログファイルを集めて管理するといった事ができるわけです。
とても便利な反面、わかりづらかったことは、
・通常の機能と、プラグインを追加しないとできない機能
・こういうことをしたい!と思ったときにプラグインがあるのか、どのプラグインか?
・すべてが自動成形されるわけじゃない。
・思ったように成形させるには、rubyの正規表現を書く必要があり、仕様を理解するのが大変だった。
おそらく、インストールしてみた的な記事を書いたら10記事はかける。
シンプル・簡単!などの文言が多い中、インストールだけして動作を見るといったところと、
実際にサービスとして運用する時の手間はぜんぜん別物だった。
それはそうだ、私は構築経験のあるエンジニアではなく、ド素人であるので。
ちょっと、いろいろ勉強して勘違いしていたw
今のクラウド環境が当たり前な世の中では、
AWSのS3(ファイルサーバ)にfluentdを使ってログやデータを転送。
S3のエンドポイントさえわかっていれば、どこからでもログやデータの内容をチェックしたりできますね。
また、監視ソフトとの連携や、データをグラフで可視化なんてことにも使われているみたいです。
私は、fluentdの理解度はおそらく30%くらいしか理解できていないけど、
いろいろな用途に使えて、今後も使われていくだろうなと感じました。
http://fluentd.org/
まず、ログの知識として、
・/var/log配下に吐かれる。
・/var/log/messagesくらいしか使わない
・障害対応は、障害を検知したサーバ一つ一つにログインして調べる
今まではこれくらいで充分でした。
たいてい、どこのサーバが、何のアプリケーションでこけているか
くらいしか分からなく、対応するのはサービスの再起動か、
設定ファイルの修正といったところでしょうか。
fluentdは、ログ集約に使うOSSです。
名前すら聞いたこと無かったですが、かなり便利な代物で、
結構いろんなところで記事が上がっていますね。
それでも、細かいことについては書いてあるところがなくて、
それくらいわかるでしょ?的なスマートなエンジニアたちの備忘録ばかりだったりします。
ログを収集して1つのファイルにまとめたり、他のサーバに転送したり
という目的で作られていて、吐かれたログをJSON形式で成形して、
例えば、
"host":"192.168.1.1",
"status":"Error",
"code":"404",
などのように成形してくれます。、
また、ログファイルごとに、タグをつけて、
このタグはこのディレクトリにこういう風に成形して保存してね。
といったカスタマイズができます。
なので、100台のサーバのログ集約を1台のサーバで
ディレクトリごとにログファイルを集めて管理するといった事ができるわけです。
とても便利な反面、わかりづらかったことは、
・通常の機能と、プラグインを追加しないとできない機能
・こういうことをしたい!と思ったときにプラグインがあるのか、どのプラグインか?
・すべてが自動成形されるわけじゃない。
・思ったように成形させるには、rubyの正規表現を書く必要があり、仕様を理解するのが大変だった。
おそらく、インストールしてみた的な記事を書いたら10記事はかける。
シンプル・簡単!などの文言が多い中、インストールだけして動作を見るといったところと、
実際にサービスとして運用する時の手間はぜんぜん別物だった。
それはそうだ、私は構築経験のあるエンジニアではなく、ド素人であるので。
ちょっと、いろいろ勉強して勘違いしていたw
今のクラウド環境が当たり前な世の中では、
AWSのS3(ファイルサーバ)にfluentdを使ってログやデータを転送。
S3のエンドポイントさえわかっていれば、どこからでもログやデータの内容をチェックしたりできますね。
また、監視ソフトとの連携や、データをグラフで可視化なんてことにも使われているみたいです。
私は、fluentdの理解度はおそらく30%くらいしか理解できていないけど、
いろいろな用途に使えて、今後も使われていくだろうなと感じました。
【Linuxの最新記事】
この記事へのコメント
おはようございます。
なるほど…調べてみると色々あるんですね。
そして、ログ収集に予算をかけられるなんてリッチ!
確かにとっておいて安心!と、
え?これ、だれがみるの?のバランスは大事ですね。
こんばんはっ Habitat ですっ
ログ収集ソフトですが、他メーカーさんもつかってるみたいなので、晒しても大丈夫ですねww
ソフトは トリトンのInfoTrace です。
サーバーは既にセットアップを済まして、今日クライアントへセットアップディスクを介して、ポリシーを反映させました。。
まぁ収集は問題なくできているようなので、少しほっとしましたww
だた、ログの情報過多だけは気をつけないとなぁ
さすがにアクティブウィンドウレベルは対象外にしましたけど・・・
こんにちは!
はびさん、バリバリサーバエンジニアですね。
ホントになんでもできる。。。
私と一緒に内職Webサービスやってほしいくらいww
ログ集約ってソフトを使わず、cronでscpして、
一台に集める位でいいと思ってたんですがね。
一ヶ所にまとめてみるとなかなか便利。
基本、今回のプロジェクトはオープンソースなので、有償のものは情報が疎いので、今度教えてください。
こんばんはっ Habitat ですっ
いやぁ 本当にタイムリーにいいネタ提供ありがとうございますっ
実は、今週からログ管理サーバーの調整入りますww
先週までは、セキュリティサーバーやってました。。。
私の場合は、OSS ではないんですが、有名どころ?なメーカーになるのかな?
ぜんぜんログ収集ソフトに関する知識がないのでわからないですね・・・
調べてメジャーで一般的なソフトだったら、どこかのタイミングでお知らせしますね。。
サーバー側のソフトの設定は終わってるんだけど設定とクライアント側の準備がまだだぁ〜
今週も、他の作業てんこ盛りだけど、なんとか・・・し・た・い