Estou perplexo. Eu tenho dois arquivos de log sendo assistidos pelo agente do AWS CloudWatch. O primeiro, /var/log/nginx/access.log
, funciona perfeitamente bem. O segundo, /var/log/otherserver/access.log
, não está recebendo nenhuma alteração. Não, eventualmente, nem sempre A MENOS QUE eu reinicie o agente, após o que ele pega as alterações e as envia para o CloudWatch como esperado.
/var/log/otherserver/access.log
é um arquivo de log rsync'ed periodicamente de outro servidor que não pode ter o agente instalado nele. Comando parece:
rsync -av user@host:/var/log/access.log /var/log/otherserver/access.log
O agente definitivamente pode lê-lo, porque ele lê as mudanças depois de ser reiniciado.
A posição da entrada no arquivo de configuração não parece ser importante.
As datas nas entradas de log para o arquivo de log rsync'ed são as mesmas do servidor (tudo é UTC).
Se eu mover o arquivo de log, o agente começará a reclamar com:
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'.
A configuração deste segundo arquivo de log é quase idêntica à primeira (abaixo).
[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
Alguém tem qualquer pistas sobre o que está acontecendo aqui? Ou pode sugerir um agente alternativo que seja menos ... maluco?