Vous avez trouvé la solution après avoir effectué une recherche, mais en la laissant ici si quelqu'un se retrouve dans une confusion similaire. Voir la résolution à la fin.Heure de l'événement incorrect dans les événements du journal CloudWatch
J'essaie de comprendre pourquoi le service de journal AWS CloudWatch ne parvient pas à comprendre le bon horodatage pour mes événements de journal. Actuellement, tous mes événements sont enregistrés sous Time 2017-01-01, quel que soit l'horodatage réel de l'événement.
Je nourrir le journal de syslog où docker sauve les événements journalisés et je configuré docker pour mettre l'horodatage au format:
170105/103242 (%y%m%d/%H%M%S)
Je configuré avec les paramètres awslogs Service:
datetime_format = %y%m%d/%H%M%S
J'ai redémarré le service et frappé le serveur, mais quand je vais à CloudWatch et voir les entrées du journal, même les entrées qui commencent effectivement par l'horodatage 170105/103242 sont réellement enregistrées comme des événements qui appartiennent à la date 2017-01-01 contenant tous les événements entre 01-01 et 01-05
Quand je regarde le awslogs.log je peux voir les lignes suivantes:
2017-01-05 11:05:28,633 - cwlogs.push - INFO - 29223 - MainThread - Missing or invalid value for use_gzip_http_content_encoding config. Defaulting to using gzip encoding.
2017-01-05 11:05:28,633 - cwlogs.push - INFO - 29223 - MainThread - Using default logging configuration.
Cela me fait penser que la configuration est probablement pas en fait la lecture/en utilisant la DATETIME_FORMAT mais je ne comprends pas pourquoi il décide de finir par utiliser par défaut. J'ai essayé de mettre
use_gzip_http_content_encoding = true
sous les paramètres généraux, mais il ne change pas les erreurs.
Je manque d'idées - quelqu'un a-t-il réussi à configurer awslogger d'une manière où le format datetime_format est réellement utilisé correctement?
Edit:
Je suis actuellement piratage plus journaux de la console à push.py de python2.7 local pour voir ce qui se passe :)
RÉSOLU:
Ok, problème était que je suis venu dans ce projet après que la configuration initiale a été créée et j'ai eu l'impression que l'enregistreur a été configuré pour utiliser le fichier .conf à l'emplacement:
/etc/awslogs/awslogs.conf
qui a été rempli dynamiquement.
L'environnement avait un script qui donnait cet emplacement à awslogs-agent-setup.py qui essayait de faire comprendre à l'agent que la configuration devait être lue à partir d'ici.
Cependant ce script ne réalisons pas ce qu'il était censé faire et quand le service a commencé, il fait lire la config de
/var/awslogs/etc/awslogs.conf
qui contient les valeurs par défaut. Donc, la résolution réelle était de changer le paramètre datetime_format dans la configuration par défaut et d'oublier la configuration que je pensais que le service utilisait.
J'avais un environnement EB qui utilisait /etc/awslogs/awslogs.conf jusqu'à ce que je le reconstruise, puis il a commencé à utiliser/var one à la place. C'est étrange. Avez-vous déjà compris pourquoi il utilisait le mauvais chemin? – Sean256