Help us understand the problem. What is going on with this article?

CloudWatchLogsをFuelPHPで使ってみた

More than 3 years have passed since last update.

tl;dr

  • FuelPHP と CloudWatchLogs を組み合わせた時にハマったのでメモ
  • 導入までのあれこれは公式ドキュメントとかを参照

起きたこと

都内某日

「CloudWatch Logs が Tokyo にも来たし、遊んでみるぜー」
「FuelPHPでログは fuel/app/logs に日付単位で生成されるので、ワイルドカードを使ってfileを指定すればいいよなー」

/etc/awslogs/awslogs.conf
[/fuelphp/logs]
datetime_format = %b %d %H:%M:%S
file = /path/to/fuel/app/logs/20*/*/*
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /fuelphp/logs

awslogsをstartして、AWSマネージメントコンソールで確認
「よしよし、上手くうごいてる♪」

一夜明けて

「あれ?今日の分のログがとれてない?」
「再起動してもダメポ...」
「/var/log/awslogs.log になんか変なエラー出てるお...」
(ノ`Д´)ノ彡┻━┻

原因

  • ユニークであるべきsequenceTokenが重複した状態でPutLogEventsしてるのが原因
    • (要出典というかちゃんとは追ってないけど、)どうもこのsequenceTokenのジェネリ方がline単位でのハッシュ値(?)的な感じっぽげ
  • FuelPHPのLogクラスの罠のせいで、ログファイル最初の1行目が重複しちゃう
    • その結果、sequenceTokenが重複しちゃってあぼーん

解決方法

  • Logクラスをオーバライドしちゃう
    • そもそもFuelPHPのLogクラス使いにくいと思ったり...
  • FuelPHPを使わない
    • 混ぜるな危険...
  • agent を自作する
    • 本家のもpythonスクリプトだし...
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした