Cloudwatch Logsが簡単便利安いだった
事の発端
Railsのlogrotateされたあとのファイルをどこに保存しようかと迷ったのがきっかけでした。 fluentdなどでS3に保存していくとか作るかーと思ってたんですが、社内のメンバーに相談してみたところAWSのCloudwatch Logsで簡単にできるよとのことで、調べてみたら本当に簡単便利安いだった。
インストールと設定
- installは
yum install awslogsでさらっとできる - 設定もあんま深く考えなければこれだけでできる
[/u/apps/log/production.log]
datetime_format = %Y-%m-%dT%H:%M:%S
file = /u/apps/log/production.log
buffer_duration = 5000
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = /u/apps/log/production.log
ロググループとログストリーム
これの概念がとてもいい感じで、同じ設定ファイルでもログストリームを分けることでホストごととかで分類できるようになる。
ロググループは同じなんだけど、log_stream_name = {hostname}という設定を入れているので勝手にホストごとに分かれてくれる。便利。
検索もさらっとできる
S3に入れていたらAthenaとかでやるのかなーめんどうそうだなーとか色々考えてたけど、文字入れたり、日付でフィルターしたり、結果もすぐ返ってくる。 cloudwatch logsは昔はこんな簡単に検索できなかったそうな。本当いい時代に生まれました。

ECSのログドライバーにもできる
ECSのコンテナのログってlogdriverに設定したところに送られるようにできるんだけど、fluentdで集めてElasticsearchに送ってKibanaで見るとかそういうの作るのも一手間あってちょっとめんどいなーと思ってたけど、Cloudwatch logsにも送ることもできる。
なので、さくっとログ確認したいなー用途はこれでいいかも。
お値段
取り込みに$0.76/G、保存に$0.033/Gなので、月間100Gあったとしたら(0.76+0.033)*100Gで$79.3なので1万円弱。
保存できて検索までできてこのお値段!!
