概要
- railsのアプリログをstackdriverに送りたい
- Gemを使った方法がうまくいかなかった
- fluentdの設定追加であっさりできたので困ったらこっちのほうがいいよ
やりかた
1. Gem使う
- 公式のRuby 用 Stackdriver Logging の設定で設定する
- 一般的にはこっちのが楽だと思う。
- このgemいれてUnicorn起動するとレスポンスが返ってこなくなる現象が解決できず諦めた
2. ロギングエージェント(fluentd)のカスタム設定する
- 今回はこっちを採用した
fluentdの設定追加方法
- 前提: GCEにロギングエージェントがインストールされている
- fluentdのカスタム設定をする ->ドキュメント
-
/etc/google-fluentd/config.d/*
にfluentd用の送信設定ファイルがおいてある。ここに送信したいログの設定を追加する。 - 例: /etc/google-fluentd/config.d/app.conf
<source>
@type tail
format none
path /var/www/rails_project/log/app.log # 送信したいログのpath
pos_file /var/lib/google-fluentd/pos/your_project_app_log.pos #posファイルの設定。1source設定に対し1pos_fileを設定。1pos_fileに複数source設定するとこけた。
read_from_head true
tag your_project_app_tag # logのタグ名。stackdriverから見えるやつ。
</source>
- fluentdをreloadする
sudo service google-fluentd reload