Elastic Beanstalk Docker mit Amazon CloudWatch

9

Ich habe eine Elastic Beanstalk-Anwendung mit einem Docker-Container bereitgestellt. Die Anwendung selbst ist eine Java-Anwendung.

Mein Ziel ist es, die Logs zu Cloudwatch zu bringen. Insbesondere möchte ich die stdouterr.log Datei zu Cloudwatch bekommen. Die Datei kann unter /var/log/eb-docker/containers/eb-current-app/*

gefunden werden

Ich habe die offizielle AWS-Dokumentation hier verfolgt. Auf der Basis der Beispielkonfigurationsdateien konnte ich den nginx Webrequest zu Cloudwatch bringen.

Für das stdouterr-Log von EB docker habe ich die Datei cwl-log-setup.config an folgende Adresse angepasst:

%Vor%

Die Cloudwatch-Protokollgruppe wird erstellt, es werden jedoch keine Protokolle angezeigt. Welche Schritte fehlen mir oder was ist falsch in meiner Konfigurationsdatei?

    
ustroetz 06.04.2016, 12:38
quelle

1 Antwort

4

Ich habe gerade das gleiche Problem festgestellt - ich habe es geschafft, die Protokolldateien zu erhalten, indem ich die LogFile-Konfiguration in

ändere %Vor%

Hinweis: Dies funktioniert nur, wenn eine einzelne Protokolldatei vorhanden ist, wenn Sie einen Container erneut bereitstellen oder eine Konfigurationsänderung anwenden, die zu mehreren Protokollen in diesem Verzeichnis führt, dann nur die Ereignisse aus der Protokolldatei mit der aktuellsten geänderten Zeit vom Agenten awslogs verarbeitet werden

Außerdem vergleicht der Agent standardmäßig die erste Zeile der Protokolldatei, um festzustellen, ob es sich um eine andere Datei handelt. Wenn die erste Zeile identisch ist, wird sie ignoriert. Sie können die Zeilen angeben, die der Agent zum Fingerabdruck der Datei verwendet, indem Sie die Konfiguration file_fingerprint_lines hinzufügen,

um zum Beispiel die Zeilen 1 - 20 zu verwenden, um die Datei zu identifizieren:

%Vor%     
Bacon 31.05.2016 08:46
quelle