13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

elastic beanstalkのログをcloud watch logsに飛ばす

Last updated at Posted at 2018-07-23

基本

ここに基本的なことはまとまってる
ぽちぽちすればストリーミングできることが分かる。
監視対象が足らないことも分かる。
rubyだとこんな感じ。
Image from Gyazo
railsのproduction.logとかの面倒は見てくれないのがわかる。

production.logもストリーミングしたい

fluentdの方法はすぐ出てくるけど、CWLogsでもS3に吐ける(らしい)し、kibanaとかにも出せる(らしい)し、まずはAWSにあるものでやりたいじゃん。

参考

本家
https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config

やりかた

1. ファイル作る

こんなファイル.ebextensionsディレクトリの下に作る。

/etc/awslogs/config/logs.conf を作ってそうなとこと commands: があればOK。

こんなかんじ。

.ebextensions/001my-logs-streamtocloudwatch-linux.config
packages:
  yum:
    awslogs: []

files:
  "/etc/awslogs/config/logs.conf" :
    mode: "000600"
    owner: root
    group: root
    content: |
      [/var/log/app.log]
      log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/app.log"]]}`
      log_stream_name = {instance_id}
      file = /var/log/app.log

  "/var/log/app.log" :
    mode: "000666"
    owner: root
    group: root
    content: |
      created by .ebextensions

commands:
  "01":
    command: chkconfig awslogs on
  "02":
    command: service awslogs restart

ついでに、logファイルも作ってます。webappユーザーでは/var/logにファイル作れないので。
たぶん、webappユーザーが書き込めるディレクトリを作ってあげるほうが正しいはず。

2. 狙った場所にログを吐く

Railsならbroadcastとかで吐くと良いんだと思う。

3. デプロイ

eb deploy
自分はコミットしてない修正がeb deployに乗っからないことを知らず、時間を溶かしました。悲しい。

4. 確認

/var/log/awslogs.logapp.logをpublishしてそうな痕跡が見れるかと思います。
実際にcloud watch logsで見れたらおk。

感想

古い記事だと/var/awslogs/config/...みたいなファイルを修正してたり、/etc/awslogs/awslogs.confを上書きしてたりするけど、本家のGithubみると、/etc/awslogs/config/logs.confに書くのが正しいみたい。
でも古い記事も当時の正義だったはずなので、この記事もいつまで正義か分からないです。そのうちポチポチで設定してeb saveで落としてこれる世界が来るはず。はよこい。

というか記事少ないよー

13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?