まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

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は昔はこんな簡単に検索できなかったそうな。本当いい時代に生まれました。

f:id:masato47744:20171110004307p:plain

ECSのログドライバーにもできる

ECSのコンテナのログってlogdriverに設定したところに送られるようにできるんだけど、fluentdで集めてElasticsearchに送ってKibanaで見るとかそういうの作るのも一手間あってちょっとめんどいなーと思ってたけど、Cloudwatch logsにも送ることもできる。

なので、さくっとログ確認したいなー用途はこれでいいかも。

お値段

取り込みに$0.76/G、保存に$0.033/Gなので、月間100Gあったとしたら(0.76+0.033)*100G$79.3なので1万円弱

保存できて検索までできてこのお値段!!