"Serverlos" bedeutet meist nur, dass Sie relativ einfache Microservices haben, in der Regel nur eine kleine Webanwendung oder eine einzelne Funktion, die automatisch mit einem REST-Frontend verbunden wird. Es gelten die gleichen Konzepte wie für herkömmliche Webdienste: in der Regel eine Mischung aus Remote-Syslog- und ElasticSearch-Writern.
Netzwerk- oder Remote-Syslog gibt es schon seit langer Zeit und es gibt eine ziemlich robuste Reihe von Tools. Sie müssten den / die zentralen Syslog-Server ausführen, aber das Protokoll ist sehr einfach und es gibt reine Client-Bibliotheken in jeder Sprache, die Sie zum Senden von Protokollen verwenden können. Ein häufiges Problem bei Remote-Syslog ist, dass es traditionell auf UDP basiert. Dies bedeutet, dass unter hoher Last einige Protokollmeldungen verloren gehen können. Dies könnte eine gute Sache sein und dazu beitragen, eine Überlastung der Kaskaden zu vermeiden, aber es ist etwas, das Sie beachten sollten. Einige neuere Syslog-Daemons unterstützen auch ein TCP-basiertes Protokoll, die Client-Unterstützung ist jedoch weniger einheitlich.
Neuere, aber sehr beliebte Protokollierung in ElasticSearch. Dies ist vor allem aufgrund des Kibana-Dashboards und des beleuchteten Logstash (häufig als ELK, ElasticSearch + Logstash + Kibana bezeichnet) nützlich. Amazon bietet sogar eine gehostete ElasticSearch-Option an, die den Einstieg erleichtert. ES verwendet eine relativ einfache REST-API. Daher sollte jede Sprache mit einem HTTP-Client (gelesen: alle) mit der Protokollierung auf ES einverstanden sein. Achten Sie jedoch darauf, den Netzwerkbetrieb bei teilweisen Systemausfällen zu blockieren Die App bleibt nicht in einem Protokollierungsaufruf hängen, der niemals erfolgreich ist und die Bearbeitung von Benutzeranforderungen beendet.
Komplexere Protokollierungstopologien sind nur durch Ihre Vorstellungskraft begrenzt, obwohl Sie heutzutage die Kafka-Datenbank / Warteschlange / Was auch immer-Sie-wollen-es als einen Knotenpunkt in sehr komplexen Protokollverteilungssystemen verwenden werden .
Auf der "serverlosen" Seite möchten Sie in der Regel direkt auf Netzwerkebene in diese Systeme integrieren. Senden Sie die Protokolldaten also direkt von Ihrem Dienst / Ihrer Funktion an syslog oder ES, anstatt in lokale Dateien zu schreiben (obwohl dies möglicherweise der Fall ist) auch für lokales Debugging und Entwicklung).