LoginSignup
17
13

More than 5 years have passed since last update.

AWS CloudWatch LogsにPHPのエラーを分割せずに送信する

Posted at

サーバ内にエージェントを設定してCloudWatch Logsにログデータを送信する時、デフォルト設定だとPHPのStack Traceのような複数行に渡るエラーログが分割されてインデックスされます。
スクリーンショット 2016-12-27 11.49.40.png

このままだとメトリクスフィルターの設定やElasticsearch経由でのkibanaでの解析が非常にやりにくいので、設定ファイルを以下のように編集しましょう。

/var/awslogs/etc/awslogs.conf
[/var/log/php-fpm/www-error.log]
datetime_format = %d/%b/%Y:%H:%M:%S %z
file = /var/log/php-fpm/www-error.log
buffer_duration = 5000
multi_line_start_pattern = {datetime_format}
log_stream_name = /var/log/php-fpm/www-error.log
log_group_name = as-CWLogs-1UQVD70TU0QZR

スクリーンショット 2016-12-27 11.50.49.png

1つにまとまりました。

multi_line_start_pattern = {datetime_format}を足すことで、タイムスタンプを基準にログを分割して送信するようになります。(デフォルト値は「^[^\s]'」)
正規表現も使える様子ですので、リファレンスを見ながら必要に応じてカスタマイズしてみると良いかなと思います。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html

17
13
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
17
13