Protokollverzögerung in Amazon S3

8

Ich habe kürzlich in Amazon S3 gehostet, und ich brauche die Protokolldateien, um die Statistiken für die Operationen "get", "put", "list" in den Objekten zu berechnen.

Und ich habe festgestellt, dass die Protokolldateien seltsam organisiert sind. Ich weiß nicht, wann das Protokoll angezeigt wird (nicht sofort, mindestens 20 Minuten nach der Operation) und wie viele Zeilen von Protokollen in einer Protokolldatei enthalten sind.

Danach muss ich diese Protokolldateien herunterladen und analysieren. Aber ich kann nicht herausfinden, wie oft ich das machen werde.

Kann jemand helfen? Danke.

    
Lulu 02.05.2013, 13:11
quelle

1 Antwort

13

Was Sie beschreiben (Log-Dateien, die mit Verzögerungen bereitgestellt werden und in einer unvorhersehbaren Reihenfolge sind), ist genau das, was erklärt von AWS als Verhalten zu erwarten. Dies ist von Natur aus ein verteiltes System, das AWS S3 zur Bereitstellung des S3-Dienstes verwendet. Die gleiche Anforderung kann jedes Mal von einem anderen Server ausgeführt werden - ich habe gesehen, dass 5 verschiedene IP-Adressen für die Veröffentlichung bereitgestellt wurden.

Also ist die einzige Lösung: Akzeptieren Sie die Verzögerung, sehen Sie sich die Verzögerung an und fügen Sie etwas mehr Zeit hinzu und lernen Sie, mit dieser totalen Verzögerung zu leben (ich würde etwa 30 bis 60 Minuten erwarten, aber Statistiken könnten mehr erzählen). p>

Wenn Sie Protokollsätze bestellen möchten, müssen Sie sie entweder selbst sortieren oder nach Lösungen für die Protokollverarbeitung suchen. Ich habe einige Anwendungen gesehen, die genau zu diesem Zweck angeboten werden.

Für den Fall, dass Sie Ihre Protokolldatei wirklich mit sehr kurzer Verzögerung erhalten müssen, müssen Sie die Protokolle selbst erstellen und das bedeutet, dass Sie ein Frontend schreiben und ausführen müssen, das Zugriff auf Ihre Dateien auf S3 und auf der Die gleiche Zeit protokolliert nach Bedarf.

Ich führe eine solche Lösung aus, Benutzer erhalten Benutzername und Passwort und URL von meinem Frontend. Während sie die Anfrage senden, evaluiere ich, ob sie korrekte Zugangsdaten zur Verfügung stellen und ob sie die gegebene Ressource sehen dürfen. Wenn ja, erstelle ich eine für wenige Minuten gültige temporäre URL für diese Ressource und leite die Anfrage dorthin um.

Aber solch ein Frontend kostet Geld (Sie müssen Ihr Frontend irgendwo ausführen) und ist weniger robust, dann greifen Sie direkt auf das AWS S3 zu.

Viel Glück, Lulu.

    
Jan Vlcinsky 10.10.2013, 01:02
quelle