Ich habe versucht, die Protokollierung auf AWS Cloudwatch zum Laufen zu bringen, war aber bisher erfolglos. Ich betreibe ein Python-Flask-Backend auf Fargate und handhabe die Protokollierung über Cloudwatch. Es werden aber nur Fehlermeldungen angezeigt und nichts über die von mir eingefügten Logs. Ich erhalte Fehlermeldungen auf Cloudwatch und Startmeldungen, aber keine Protokolle.
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with windowsapi reloader
* Debugger is active!
* Debugger PIN: 222-692-161
* Running on http://0.0.0.0:6000/ (Press CTRL+C to quit)
127.0.0.1 - - [03/Nov/2020 09:47:23] "GET /health HTTP/1.1" 200 -
Dies wird auf Cloudwatch, dem Flask-Startdialog und Meldungen angezeigt, dass die Healthcheck-Abfrage ordnungsgemäß funktioniert hat/jedoch keine Protokolle innerhalb meines Healthchecks. Ich habe 2 Strategien ausprobiert.
import logging
logger = logging.getLogger(level=logging.INFO)
log.info("This is an informative log")
und ich habe auch eine Druckfunktion definiert, um Daten an stderr zu senden, damit Cloudwatch sie abholen kann
def eprint(cls, *args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
eprint("this is another informative log")
Ich bin mir nicht sicher, warum keine dieser Lösungen funktioniert, da Cloudwatch an stderr gesendete Daten erfassen sollte. Gibt es eine Möglichkeit, Cloudwatch-Protokolle in wenigen Codezeilen und so minimalinvasiv wie möglich zu aktivieren?
Vielen Dank im Voraus!
Lösung des Problems
Soweit mir bekannt ist, werden Ihre Nachrichten an stderr oder stdout nicht automatisch angezeigt, da Sie nicht mit einem Protokollstream verbunden sind.
Wenn Sie beispielsweise boto3 verwenden, können Sie eine Verbindung zu Ihrer aws-Ressource herstellen und diese kann dann die Ausgabe in den Logstream schreiben. aber ohne diese Verbindung ist meine Vermutung, dass es nur in den Knoten selbst schreibt und dann existiert, sobald es fertig ist.
Weitere Informationen finden Sie unter https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html
Keine Kommentare:
Kommentar veröffentlichen