EngineでオートスケールするWebサーバーを構築しましたが、ログが各サーバーに分散したり、インスタンスが終了するとログも消えるので、Fluentdでログを一カ所に集めることにしました。前回、GCE上に負荷に応じて自動でサーバーが勝手にできあがっては消えていくオートスケールのWordPressサーバーを構築しましたが、問題が起きたときのログを確認するのが非常に面倒だと気づきました。MarsEditからWordPressに画像投稿すると、絶対に投稿に失敗するという問題が起きていまして(現在は解決)、ただWebサーバーが複数あるので、一体どこのサーバーにエラーログが残っているかわからない。片っ端から見るのは面倒...。最初はsyslogでログを転送して一カ所に集めようとしましたが、ネットを調べていると、今はログの収集にはFluentdを使うのがトレンドと知りました。私もよくわかってませんが、入力と出力がプラグイン化されていて、たとえばNginxのアクセスログをMongoDBに出力して解析するなんてことができるみたいです。JSON形式出力できたりするのが今風な感じですね。そんなわけでGCE上にFluentdとMongoDBをインストールしてみました。availableとエラー吐いて進まなかったけど、どうも他のプログラムがそのポート使っていたらしく、24223に変えたらうまくいきました。...なんですが、どうもfluentdはGoogleがカスタマイズして、GCE上で使いやすくしたモノが別にあるみたいなんですね。google-fluentdというものがあるインストールしたfluentdを削除して、あとは上記のページの通りでGCE上のCentOS7にすんなり入りました。以下で、google-fluentdインストール。WebサーバーとDBサーバーの両方に入れました。install-logging-agent.shこれでサービスが起動し、自動起動もONになる。6:offとなっている。install-logging-agent.shログのテストはloggerコマンドを使う。Consoleの「ログ」に出てくる。最初からいろいろconfig仕込んであるので、ログがバカスカでてくるが、自分は便利だと思って、そのままの設定にしている。nginxとphp-fpmのログを転送する/etc/google-fluentd/config.d/nginx-blog.conf配下にconfファイルを置くと、処理してくれる。/etc/google-fluentd/config.d/nginx-blog.confたとえば、こんな感じで設定する。タグで転送するログファイルを指定する。pathはログファイルの場所。tagはログの種類わけに使う。Cosole上で、ここで指定したタグで絞り込みが出来る。pos_fileはログをどこまで読んだかを記録するファイルでどこかにファイル置き場を作ってあげればよい。しないといけないらしい。google-fluentd.serviceでできる。ConsoleのログGCEの管理画面の「ログ」にしばらくするとログが出力され始める。Engineを選んで、必要に応じてその横のドロップダウンでタグの絞り込みをするといい。お手軽簡単ログビュワーさきほど設定した内容でインスタンステンプレートを作成すれば、オートスケールで勝手にできあがったサーバーからのログもこの画面に集約される。ログは30日間保管されるらしい。Queryに自動取り込みして、分析することが出来る。多種多様なログを「ログ」経由でビッグデータとして扱うことが出来ますな。データセットにストリーミングします」から「新しいデータセットを追加」で適当に名前入れるだけ。[2015-11-02追記]上の例では「すべてのソース」にチェック入れていますが、外すとどのタグのログを送るか指定できます。Webにアクセスしてきた人の行動分析用途ならば、nginxのアクセスログだけ送るようにすれば、節約になります。細かく制御したい場合は、fluentdのsourceを切って、タグを分けるといいと思います。これだけでビッグデータ分析に回せるメニューからBigQueryを開くと、さきほど追加したデータセットがあります。QUERY」押して右の欄にSQLを入れます。1000上の例ではアクセスログで「surface」の文字がある行を1,000行まで引っ張ってきています。普通のデータベースだとLikeを使った部分一致は激遅なのですが、どんなにログが膨れようとも数秒で結果が返ってきます。time.みたいなエラーになります。列名を指定しないといけません。テーブルを選んで右の方の「Details」を押すとテーブルの容量がわかります。デフォルトで「publicdata:samples」というデータセットがサンプルで用意されています。Wikipediaのデータもこの中にあって35.7GBのサイズです。これをLikeで検索しても、やっぱり数秒で応答が返ってきました。GCEでログ管理ならgoogle-fluentd複数台のログを一元管理できて、そのくせ設定も楽だし、ビッグデータとも容易に連携できる懐の広さもあって、これはいいです。GCEでログ管理ならこれ一択のような気がしますね。Apple野郎なおっさんでしたが、ちょっと最近のAppleには飽き気味。A-tak.comは2002年2月から運営(前身のサイトは1999年3月から)。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。このサイトの使用を継続することで、その使用に同意したとみなされます。コントロール方法を含む詳細についてはこちらをご覧ください。