2015-01-21 7 views

Antwort

12

Die neueste AWS CLI hat eine Cloudwatch Logs cli, dass Sie die Protokolle als JSON, Textdatei oder eine andere Ausgabe unterstützt durch AWS CLI herunterladen kann.

Zum Beispiel die ersten 10.000 Protokolleinträge aus dem Stream a in Gruppe A in eine Textdatei zu erhalten, führt:

aws logs get-log-events --log-group-name A --log-stream-name a \ 
    --output text > a.log 

Der Befehl zur Zeit auf maximal 10.000 Datensätze pro Anfrage begrenzt ist, und wenn Sie benötigen mehr, um einen eigenen Seitenschrittmechanismus zu implementieren, indem Sie den Parameter --next-token verwenden. Ich erwarte, dass die CLI in Zukunft auch den vollständigen Speicherauszug in einem einzigen Befehl erlauben wird.

2

Anscheinend gibt es keinen Out-of-Box-Weg von AWS Console, wo Sie die CloudWatchLogs herunterladen können. Vielleicht können Sie ein Skript schreiben, um den CloudWatchLogs-Abruf mit dem SDK/API durchzuführen.

Das Gute an CloudWatchLogs ist, dass Sie die Protokolle für unbegrenzte Zeit behalten können (Niemals ablaufen lassen); im Gegensatz zur CloudWatch, die die Protokolle nur für 14 Tage aufbewahrt. Dies bedeutet, dass Sie das Skript in monatlichen/vierteljährlichen Abständen statt auf Abruf ausführen können.

Mehr Informationen über die CloudWatchLogs API, http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/Welcome.html http://awsdocs.s3.amazonaws.com/cloudwatchlogs/latest/cwl-api.pdf

12

Es gibt auch ein Python-Projekt awslogs genannt, so dass die Protokolle erhalten: https://github.com/jorgebastida/awslogs

Es gibt Dinge wie:

Liste Log-Gruppen:

$ awslogs groups 

Liste für bestimmte Log-Gruppe Ströme :

$ awslogs streams /var/log/syslog 

die lo bekommen g Datensätze aus allen Strömen:

$ awslogs get /var/log/syslog 

die Protokolldatensätze von bestimmtem Strom erhalten:

$ awslogs get /var/log/syslog stream_A 

und vieles mehr (Filterung für einen Zeitraum, Protokollströme beobachtet ...

Ich denke, Dieses Tool könnte Ihnen helfen, das zu tun, was Sie wollen.

0

Es scheint, dass AWS die Möglichkeit hinzugefügt hat, eine vollständige Protokollgruppe nach S3 zu exportieren.

Export to S3 menu

Export to S3 Form

Sie werden auf der S3 Eimer Setupberechtigungen müssen Cloudwatch ermöglichen, indem Sie die folgenden auf Ihre Eimer Politik ersetzt die Region mit Ihrer Region, um den Eimer zu schreiben und die Bucket-Name mit Ihrem Bucket-Namen.

{ 
     "Effect": "Allow", 
     "Principal": { 
      "Service": "logs.us-east-1.amazonaws.com" 
     }, 
     "Action": "s3:GetBucketAcl", 
     "Resource": "arn:aws:s3:::tsf-log-data" 
    }, 
    { 
     "Effect": "Allow", 
     "Principal": { 
      "Service": "logs.us-east-1.amazonaws.com" 
     }, 
     "Action": "s3:PutObject", 
     "Resource": "arn:aws:s3:::tsf-log-data/*", 
     "Condition": { 
      "StringEquals": { 
       "s3:x-amz-acl": "bucket-owner-full-control" 
      } 
     } 
    } 

Details finden sich in Step 2 of this AWS doc

finden
Verwandte Themen