はじめに
システムを監視しているとログに WARNING レベルのメッセージが記録されることがあります。
ERROR レベルのメッセージであれば対処が必要であるとわかりますが、WARNING レベルのメッセージは対処が必要なのか、無視してよいものなのか判断に迷うことがあるかと思います。
今回、CloudWatch エージェントの WARNING レベルのメッセージについて紹介したいと思います。
事象
amazon-cloudwatch-agent.log に以下のメッセージが記録されました。
W! [agent] ["outputs.cloudwatchlogs"] did not complete within its flush interval
原因
当該ログの記録は CloudWatch エージェントのログ送信に関わる処理が "force_flush_interval" として指定された期間内に終了しなかったことを警告するものとなります。
CloudWatch エージェント設定ファイルを手動で作成または編集する
force_flush_interval – ログがサーバーに送信されるまでにメモリバッファ内に残留する最大時間を秒単位で指定します。
このフィールドの設定にかかわらず、バッファ内のログのサイズが 1 MB に達すると、ログは即座にサーバーに送信されます。
デフォルト値は 5 です。
エージェントを使用して高解像度メトリクスを埋め込みメトリクス形式で報告し、それらのメトリクスにアラームを設定する場合は、このパラメータをデフォルト値の 5 に設定してください。
それ以外の場合は、メトリクスが遅延して報告され、データが部分的または不完全な場合にアラームが発報する可能性があります。
対処
当該ログメッセージは必ずしも実影響を示すものではありません。
また、エージェントの設定において当該メッセージ自体を出力しない/抑制する方法もありません。
ログの欠落などの実影響が発生していない場合には、当該メッセージは一時的なものと判断してください。
なお、CloudWatch エージェントはログの送信に失敗するとログの再送を試みる動作となっています。
そのため、継続して当該ログやその他エラー等の記録がされていない場合は、ログの再送がなされログ送信に成功したと判断できます。
さいごに
WARNING レベルのメッセージが無視してよいものなのか対処が必要なのか、気になって夜しか寝られない人もいるかと思います。
この記事がそんな人のお役に立てれば幸いです。