0

Wenn wir in der AWS-Gateway-API die Protokollierung mithilfe der Cloud-Watch-Einstellungen wie unten gezeigt aktivieren, sehe ich einige CloudStreams in der Cloud-Überwachung. enter image description hereWas zeigt AWS Cloud Log Stream darstellen?

enter image description here

Was sind diese Ströme? Cloudwatch Dokument unten erwähnt

Repräsentiert einen Protokolldatenstrom, der eine Sequenz von Protokollereignissen von einem einzelnen Emitter von Protokollen ist.

Ich erwarte nur 1 Stream für meine API in diesem Fall. Aber ich sehe mehrere Einträge. Warum habe ich so viele Streams?

Antwort

3

CloudWatch generiert mehrere Streams aufgrund des gleichzeitigen Zugriffs. Nur eine aktive Verbindung zum API-Gateway kann jeweils in einen Stream schreiben. Es wird also einen neuen Stream für die blockierten Sitzungen generieren. Wenn dann eine neue Sitzung gestartet wird, wählt sie den neuesten Protokolldatenstrom aus, an den geschrieben wird, was wiederum dazu führt, dass andere gleichzeitige neue Sitzungen neue Datenströme generieren. Unglücklicherweise scheint es, dass CloudWatch Logs kein Puffersystem installiert hat. Es ist also eine 1: 1 Echtzeitbeziehung zwischen Sitzungen und Streams.

+4

Anstatt ein Mangel an Pufferung * per se *, die nicht wirklich ein kompatibles Konzept ist, da Log-Streams sind logische Ströme in Batches über eine statusfreie Schnittstelle (nicht tatsächliche, literale Streams auf einem Sockel oder Rohr) geschrieben, gibt es eine Entwurfsbeschränkung in CloudWatch Logs, dass jeder Stream nur 5 Nachrichten pro Sekunde mit maximal 1 MB Nutzlast pro Batch akzeptieren kann. [(Quelle)] (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) Um mehr zu schreiben - und um zusammenhängende Ereignisse innerhalb von Streams zu gruppieren - werden mehrere Streams benötigt. –