今までOpsWorksのプロジェクトでは,td-agentでログを取ってS3に保存していた.
この辺のツールでいうと,Kibanaあたりの組み合わせが流行りですね.
ただ,最近td-agentのリポジトリのバージョンが上がってしまったので,cookbookのバージョンもそれにともなってあげなければいけなくなってしまった.
でもこれ,正直めんどくさい…….
cookbookをいじるとなると,影響範囲が広いので…….
というわけで,この機会にCloudWatchを使ってログを取ってみた.
インスタンスにCloudWatch-agentを入れて,あとはログファイルを指定するだけ!
という説明だったので,これをcookbookに追加する.
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/QuickStartChef.html#d0e9424
大体ここの説明どおりで動きます.
指定するログファイルが,opsworks-agentのログでは面白く無いので,/var/log/nginx/のaccess.logあたりを指定してみました.
感想
リアルタイムでログを取るのはすごく便利.
グラフとかSNSの通知とかを作るのは簡単にできそう.
だから,監視的な使い方だと便利かも.
ログの保存に関して,保存はされるけど,S3に転送はできないみたい.
ダウンロードもできない.
ログの長期保存ってなると,やっぱりS3に入れておきたいっていう要望もある.
それに長期保存されたログに対して何か処理したい時も,手元にファイルをDLできるのは大きい(スクリプトで処理できることもいっぱいあるしね).
そういう用途でのログ吐き出しとしては,あまり向かないのかなーという印象です.
ログ解析も,監視的な役割ではかなり優秀だと思います.
グラフを作って監視とかだと作りやすそうだねー.
その意味ではkibanaとも被る部分はあるかもしれない.