Fluentd+Elasticsearch+Kibanaが1冊で理解できるムック本「サーバ/インフラエンジニア養成読本 ログ収集~可視化編」

書評

この本は、ログの収集から可視化までの一連の範囲をカバーしているムック本です。(Kindle版もあります
ログの収集にはFluentdを利用して、データストアであるElasticsearchにデータを蓄積していきます。蓄積されたデータをKibanaというデータを可視化するためのツールをもちいて、グラフなどを作成し、人間が認識しやすい形にします。
こういった一連の流れをここ数年でよく使われるようになったソフトウェア(Fluentd・Elasticsearch・Kibana)で実現するための手引きが1冊にまとめられています。3つのソフトウェアですが、それぞれに入門するにはネットだけでは結構な情報を読みあさらないと大変です。そういった点を解決してくれた、かゆいところに手が届くムック本です。


スポンサーリンク

なぜ今頃ログまわりの話しが注目されはじめたのか?

いにしえの昔、ログから可視化といえばAWstatsWebalizerといったApacheのログに特化したレポートツールぐらいでした。やがてGoogle Analyticsのようなサービスの登場によって、こういったツールは駆逐されていきます。
ここにあげたのはApacheという代表的なhttpdサーバのログに特化したツールであり、もっとシステムに特化した柔軟性のあるログを集計してレポートするという物ではありません。たとえば、本日に売上げのあった商品一覧を把握したければ、DBに格納されている情報をバッチ処理で集計して、レポートメールを送る。というような専用のコードを書いたりして対応していたのではないでしょうか。
可視化したいデータが発生した時点から可視化するまでの枠組みになる代表的なツールがなかったのです。(ログ収集についてはscribedとかもっと普及しても良かったんじゃないかな。というのはあったけど…)

ツールの登場と整いつつあるインフラ

近年ではツールやサービスの登場によって、データを収集して可視化する枠組みができつつあります。
可視化するためのデータは発生した時点で、ログに落とすことさえできれば、Fluentdによって収集してデータストアへ運ぶための道ができました。HDDの容量増大やAmazon S3などの高信頼性のストレージサービスの登場によって、ログを保存するための容量問題を一気に解決しました。データさえ取っておけば、あとになって新たな観点からデータを解析することができます。
データストアもElasticsearchだけでなく、GraphiteやInflexDBなど、ログのような時系列のデータを扱うのに特化した新たなデータストアが増えてきています。
新たなツールの登場によって、ログから可視化することが気軽にできるようになってきたのです。この機会にFluentd, Elasticsearch, Kibanaで一通り、体験してみてください。

ログの扱いは「Fluentd」で決まり!

ログの取扱に関する問題を一気に解決してくれたのがFluentdです。Fluentdの登場までは、ログを長期間保存するためにはログを集約するために、定期的にログを転送したり、一定期間のログを消したり、さまざまな対応が必要でした。
今日ではFluentdを利用して、複数のサーバからログを送り、必要であれば集約やフィルターをして、Amazon S3などに比較的低コストで大容量のログを保存しておくことができます。ログが集約保存されていれば、各サーバのログは消せるので、HDDがログによって圧迫されるような問題が解決されます。

ログを扱うための設計

サーバ数台でログを送っているうちはいいのですが、ログの量が大量に発生するシステムや大規模なサーバ台数から構成されるシステムだと、Forwader Node(ログを送るだけ)やAggregator Node(ログを複数のForwaderから集約する)としての役割をもたせ、Processor Node(データの加工・集計)などをする必要が出てくるため、安定運用するためには可用性を確保するなど、システム的な設計ノウハウが必要になります。

Fluentdクラスタの応用例

サーバ/インフラエンジニア養成読本ログ収集〜可視化編 P.51


そういった設計についても解説されているため、現在稼働しているサービスのログ収集をしたい人は非常に参考になります。大規模なシステムでない限り、本誌で解説している範囲で事足りることがほとんどだと思います。

豊富なプラグイン

Fluentdはプラグインが豊富で、ログからGrowthForecastHTTP通信をしてグラフを作成したり、各種データストアの形でデータを流したりすることができます。本誌ではあ10ページ以上にわたりプラグインが紹介されています。

Elasticsearch

elasticとついていますが、Amazonのサービスではありません。Elasticsearchという分散型全文検索サーバです。MySQLやPostgreSQLなどのRDBMSとは違うドキュメント指向のデータベースです。
RDBMSに慣れている私にとっては、アーキテクチャや用語の定義が異なるので、本誌が丁寧にまとめてくれていたので非常に助かりました。日本語でここまで丁寧に解説して、まとまっているのは見たことがありませんでした。Elasticsearchをはじめて触る人は、ぜひ本誌で理解してから利用すると理解しやすいと思います。

Kibana

KibanaはElasticsearchのデータをグラフなどに可視化するためのフロントエンドのツールです。操作が独特で、私には扱いにくかったので、本誌が助けてくれました。豊富なグラフがつくれます。

データの活用はあたりまえになっていく

このような範囲を主たる業務として実務をおこなっている人は、まだまだ国内には少ないと感じています。多くの企業がプログラマやインフラエンジニアが一時的や片手間に対応しているのが実情ではないでしょうか。ですが、需要があることは確かです。
初めてのログ解析、可視化を本誌でやるのは最適ですし、そんなに大きな規模のサービスでなければ、本誌で得た知識で実際のサービスのログを可視化することもできるはずです。これからますますデータの活用は重要になってくるでしょう。
ですが、本当に大切なのは可視化されたデータを元に、行動を起こすことです。

タイトルとURLをコピーしました