統合 Amazon CloudWatch エージェントを使用してログのタイムスタンプエラーを解決したいと考えています。
簡単な説明
統合 CloudWatch エージェントは、PutLogEvents API を使用してログイベントのバッチを Amazon CloudWatch Logs にアップロードします。CloudWatch は、2 時間以上先の日時のログイベントや 14 日以上経過したログイベントを受け入れません。また、CloudWatch はロググループの保持期間より前に発生したログイベントを受け入れません。
ログのタイムスタンプが許容時間範囲外の場合、次のいずれかのようなエラーメッセージが表示されることがあります。
- <timestamp><Log Group Name><Log Stream Name><actual log timestamp><current timestamp>" E! [outputs.cloudwatchlogs] The log entry in (/() with timestamp () comparing to the current time ( m=+100) is out of accepted time range.Discard the log entry."
- <timestamp><Log Group Name><Log Stream Name>" W! [outputs.cloudwatchlogs] 1 log events for log '/(' are expired."
解決策
このエラーを解決するには、次の手順を実行します。
- 統合 CloudWatch エージェントの設定ファイルに timestamp_format を追加して、タイムスタンプ形式を指定します。単一のログエントリにこの形式と一致するタイムスタンプが 2 つ含まれている場合、CloudWatch は最初のタイムスタンプを使用します。
- (オプション) 統合 CloudWatch エージェントの設定ファイルから timestamp_format を削除します。<br id=hardline_break/>
注: このフィールドを省略すると、CloudWatch は現在の時刻を使用します。
- 統合 CloudWatch エージェントを再起動し、CloudWatch が現在の時刻を使用していることを確認します。
関連情報
統合 CloudWatch エージェントがログイベントをプッシュしない問題を解決する方法を教えてください