アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

ログ集約の仕組みに「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%くらいしか理解できていないけど、
いろいろな用途に使えて、今後も使われていくだろうなと感じました。
    >>次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。