Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Wie behebe ich Probleme mit CloudWatch-Protokollen, die nicht in S3-Buckets exportiert werden können?

Lesedauer: 4 Minute
0

Ich möchte das Problem beheben, dass Amazon-CloudWatch-Protokolle nicht in Amazon Simple Storage Service (Amazon S3)-Buckets exportiert werden können.

Behebung

Hinweis: Wenn bei der Ausführung von Befehlen in AWS Command Line Interface (AWS CLI) Fehler auftreten, finden Sie weitere Informationen unter Troubleshoot AWS CLI errors. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

Die Fehlerbehebung für Protokolle, die nicht in Amazon-S3-Buckets exportiert werden können, hängt davon ab, ob der Export bei oder nach der Erstellung der Exportaufgabe fehlschlägt.

Fehler bei der Erstellung der Exportaufgabe

Gehen Sie wie folgt vor, um Probleme zu beheben, die bei der Erstellung von Aufgaben auftreten:

  • AWS-Region: Stellen Sie sicher, dass sich Ihre CloudWatch-Protokollstreams und Amazon-S3-Buckets in derselben Region befinden.
  • Richtlinien für Amazon-S3-Buckets: Standardmäßig sind Amazon-S3-Buckets und -Objekte privat. Der Ressourcenbesitzer hat nur Zugriff auf den Bucket und die Objekte im Bucket. Weitere Informationen finden Sie unter Step 3: Set permissions on an S3 bucket.
  • Amazon-S3-Bucket-Präfixe: Wenn Sie die Amazon-S3-Bucket-Richtlinie festlegen, empfiehlt es sich, eine zufällig generierte Zeichenfolge als Präfix für den Bucket einzuschließen. Wenn Sie ein Präfix verwenden, müssen Sie die zufällig generierte Zeichenfolge in den S3-Bucket-Präfixeinstellungen angeben, wenn Sie die Exportaufgabe erstellen. Wenn Sie die generierte Zeichenfolge nicht angeben, schlägt die Erstellung der Exportaufgabe fehl.
  • Richtlinien für AWS Identity and Access Management (IAM): Vergewissern Sie sich, dass der Benutzer oder die Rolle von AWS Identity and Access Management (IAM), der/die die Exportaufgabe erstellt hat, Zugriff auf Amazon S3 und CloudWatch Logs hat. Weitere Informationen finden Sie unter Step 2: Set up access permissions.
  • Prüfen Sie die CloudTrail-Protokolle: Suchen Sie in AWS CloudTrail nach dem Ereignis CreateExportTask, um die Fehlermeldung zu identifizieren. CreateExportTask ist ein asynchroner Vorgang. Wenn Sie alle erforderlichen Informationen angeben, wird eine Exportaufgabe initiiert und gibt die ID der Aufgabe zurück. Wenn die Aufgabe beginnt, verwenden Sie DescribeExportTasks, um den Status zu überprüfen. Weitere Informationen finden Sie unter Errors.
  • Ressourcenkontingente: Das Ressourcenkontingent von CloudWatch Logs erlaubt nur eine laufende oder ausstehende Exportaufgabe pro AWS-Konto und Region. Sie können dieses Kontingent nicht ändern. Vergewissern Sie sich, dass Sie das zulässige Kontingent nicht überschritten haben.
  • Typ der serverseitigen Verschlüsselung: Stellen Sie sicher, dass Sie für Ihre Amazon-S3-Buckets eine unterstützte serverseitige Verschlüsselung verwenden. Zu den unterstützten Verschlüsselungen gehören Advanced Encryption Standard (AES)-256 und serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln. Diese unterstützten Verschlüsselungen werden als SSE-KMS bezeichnet.

Fehler nach der Erstellung der Exportaufgabe

Um Probleme bei Aufgaben zu beheben, die nach ihrer Erstellung fehlschlagen, überprüfen Sie die Zeitraumeinstellung. Wenn Sie Protokollstreams mit großen Datenmengen exportieren und einen langen Zeitraum angeben, schlägt die Exportaufgabe möglicherweise fehl. Um dieses Problem zu beheben, konfigurieren Sie kürzere Zeiträume, um Protokollstreams mit geringeren Datenmengen zu exportieren.

Um den Status der Zeitraumeinstellung zu überprüfen, führen Sie den folgenden describe-export-tasks-Befehl in AWS CLI aus:

aws logs describe-export-tasks --task-id example-task-id

Hinweis: Geben Sie anstelle von example-task-id Ihre Aufgaben-ID ein.

Um Daten nach Amazon S3 zu exportieren, führen Sie den folgenden create-export-task-Befehl in AWS CLI aus:

aws logs create-export-task --task-name "example-task-name" --log-group-name "/aws/lambda/example-log-group-name" --destination "example-bucket-name --from 1710378735 --to 1710465135

Hinweis: Geben Sie anstelle von example-task-name Ihren Aufgabennamen ein. Geben Sie anstelle von example-log-group-name den Namen Ihrer Protokollgruppe ein. Geben Sie anstelle von example-bucket-name den Namen Ihres Ziel-Buckets ein.

Um den Status der Exportaufgabe zu überprüfen, führen Sie den folgenden describe-export-tasks-Befehl in AWS CLI aus:

aws logs describe-export-tasks --task-id example-task-id

Hinweis: Geben Sie anstelle von example-task-id Ihre Aufgaben-ID ein.

Es kann bis zu 12 Stunden dauern, bis die Protokolle für den Export verfügbar sind. Auch die Verarbeitung der Exportaufgabe kann bis zu einigen Stunden dauern. Dies hängt vom Umfang der Datenmenge ab, die Sie exportieren. Es hat sich bewährt, Abonnementfilter auf Protokollgruppenebene zu verwenden, um neue Daten in Echtzeit zu verarbeiten oder kontinuierlich in Amazon S3 zu archivieren. Weitere Informationen finden Sie unter Real-time processing of log data with subscriptions.

Verwandte Informationen

Ich habe Amazon CloudWatch so konfiguriert, dass es Protokolldaten in Amazon S3 exportiert, aber die Protokolldaten sind entweder nicht vorhanden oder ungültig. Wie kann ich dieses Problem beheben?

Wie rufe ich Protokolldaten von CloudWatch Logs ab?

Exporting log data to Amazon S3

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 5 Monaten