AWS CloudWatchをOpsWorksに導入してみた

今まで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とも被る部分はあるかもしれない.