私は困惑しています。 AWS CloudWatchエージェントによって監視されている2つのログファイルがあります。最初の1つ、 /var/log/nginx/access.log
、完全に正常に動作します。二番目、 /var/log/otherserver/access.log
、ピックアップされた変更はありません。最終的には、決して--[〜#〜] unless [〜#〜]エージェントを再起動すると、変更が取得され、期待どおりにCloudWatchに送信されます。
/var/log/otherserver/access.log
は、エージェントをインストールできない別のサーバーから定期的にrsyncされたログファイルです。コマンドは次のようになります。
rsync -av user@Host:/var/log/access.log /var/log/otherserver/access.log
エージェントは、再起動後に変更を読み取るため、確実にそれを読み取ることができます。
設定ファイル内のエントリの位置は重要ではないようです。
Rsyncされたログファイルのログエントリの日付は、サーバーと同じです(すべてUTCです)。
ログファイルを移動すると、エージェントは次のような問題を起こし始めます。
2015-12-14 16:02:26,158 - cwlogs.Push.stream - WARNING - 3344 - Thread-1 - No file is found with given path '/var/log/otherserver/access.log'.
この2番目のログファイルの構成は、最初のログファイル(下記)とほぼ同じです。
[website.access.log]
#datetime_format = 09/Dec/2015:14:15:02 +0000
datetime_format = %d/%b/%Y:%H:%M:%S %z
file = /var/log/otherserver/access.log
log_stream_name = master-platform.sh
initial_position = start_of_file
log_group_name = web-access
[app.access.log]
#datetime_format = 09/Dec/2015:14:15:02 +0000
datetime_format = %d/%b/%Y:%H:%M:%S %z
file = /var/log/nginx/lax.access.log
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = web-access
誰かが何かの手掛かりを持っていますか?または、あまり気が進まない代替エージェントを提案できますか?
構成に変更を加え続けているため、エージェント状態ファイルが破損している可能性があります。これを修正するには2つの方法があります。
[website.access.log]
から[something.else]
。オプション2:サービスを停止した後、エージェント状態ファイルを削除します。
Sudo service awslogs stop
Sudo rm /var/lib/awslogs/agent-state
Sudo service awslogs start
オプション2では、新しい状態ファイルが作成されるときに、最初に重複したログがCloudWatchにプッシュされる場合があることに注意してください。