Auf dieser Seite wird beschrieben, wie Logeinträge, die bereits in Cloud Logging-Log-Buckets gespeichert sind, manuell in Cloud Storage-Buckets kopiert werden. Für einen Kopiervorgang ist es nicht erforderlich, dass sich der Log-Bucket und der Cloud Storage-Bucket im selben Google Cloud-Projekt befinden.
Sie möchten vielleicht aus folgenden Gründen Logeinträge aus Log-Buckets in Cloud Storage-Buckets kopieren:
- Falls Sie vergessen haben, Logeinträge vor dem Speichern in Logging an Cloud Storage weiterzuleiten
- Um Logeinträge für Prüfer außerhalb von Logging freizugeben
- Um Logeinträge mit Skripts in Cloud Storage zu analysieren
Wenn Sie Logeinträge nach Cloud Storage kopieren, bleiben die Logeinträge auch in dem Log-Bucket erhalten, aus dem sie kopiert wurden
Kopiervorgänge ersetzen keine Senken, die automatisch alle eingehenden Logeinträge, die den Aufnahme- und Ausschlussfiltern entsprechen, an ein vorab ausgewähltes unterstütztes Speicherziel senden, einschließlich Cloud Storage-Buckets. Verwenden Sie Senken, wenn Sie wissen, dass Sie Logeinträge in einem Cloud Storage-Bucket speichern möchten.
Wenn Sie Protokolle kopieren und dann den Vorgang verwalten und überwachen möchten, müssen Sie die Google Cloud CLI verwenden.
Beschränkungen
Beim Kopieren von Logeinträgen gelten die folgenden Einschränkungen:
Sie können Logs nur in Cloud Storage-Buckets kopieren. Andere Ziele sind nicht verfügbar.
Sie können keine Protokolle aus Protokoll-Buckets kopieren, für die CMEK konfiguriert ist.
Hinweise
Bevor Sie mit dem Kopieren von Logs beginnen, gehen Sie so vor:
- Prüfen Sie, ob Sie die neueste Version der gcloud CLI verwenden. Eine Anleitung zum Installieren oder Aktualisieren der gcloud CLI finden Sie unter Komponenten der Google Cloud CLI verwalten.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, das den Log-Bucket enthält, aus dem Sie kopieren, um die Berechtigungen zum Kopieren von Logeinträgen zu erhalten:
-
So führen Sie einen Kopiervorgang aus:
Logging Admin (
roles/logging.admin
) -
So rufen Sie den Status eines Kopiervorgangs auf und verwalten ihn:
Autor von Log-Konfigurationen (
roles/logging.configWriter
)
-
So führen Sie einen Kopiervorgang aus:
Logging Admin (
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage Object Creator (
roles/storage.objectCreator
) für das Projekt zuzuweisen, das den Cloud Storage-Bucket enthält, um die Berechtigungen zu erhalten, die Sie zum Schreiben von Protokolleinträgen in Cloud Storage benötigen.
Logeinträge kopieren
Logging kopiert nur Logeinträge, die zu Beginn des Kopiervorgangs im Log-Bucket gespeichert sind. Logeinträge, die nach dem Start des Kopiervorgangs in Log-Buckets gespeichert werden, werden nicht in Cloud Storage kopiert.
Zum Kopieren von Logeinträgen in Cloud Storage benötigen Sie die folgenden Informationen:
- Die ID und den Speicherort des Log-Buckets, aus dem Sie kopieren.
Verwenden Sie den Befehl
gcloud logging buckets list
der gcloud CLI, um die ID des Protokoll-Buckets und seinen Speicherort abzurufen. - Der Name des Cloud Storage-Bucket, in den Sie kopieren. Informationen zum Abrufen des Namens des Cloud Storage-Buckets finden Sie unter Cloud Storage-Bucket-Informationen abrufen.
- Einen Filter für die Logeinträge, die Sie kopieren möchten.
Führen Sie den Befehl gcloud logging copy
aus, um Logeinträge zu kopieren:
gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME \
--location=LOCATION --log-filter='FILTER' --project=PROJECT_ID
Führen Sie vor dem Ausführen des vorherigen Befehls die folgenden Schritte aus:
- Ersetzen Sie BUCKET_ID durch den Namen Ihres Protokoll-Buckets.
- Ersetzen Sie CLOUD_STORAGE_BUCKET_NAME dabei durch den Namen des Cloud Storage-Buckets.
- Ersetzen Sie LOCATION durch den Speicherort des Protokoll-Buckets.
Optional: Ersetzen Sie FILTER durch den Filter, der festlegt, welche Protokolle kopiert werden.
Wenn Sie das Flag
--log-filter
weglassen, werden alle Logeinträge im Log-Bucket in den Cloud Storage-Bucket kopiert.Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID. Sie können dieses Flag weglassen, wenn die Konfiguration der aktiven gcloud CLI auf das richtige Google Cloud-Projekt festgelegt ist.
Beispielbefehl:
gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2024-07-18T10:00:00.0Z"' \
--project=my-project
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, der im Hintergrund ausgeführt wird, und gibt den Namen des Kopiervorgangs und den Standort des Log-Buckets zurück:
name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Der Standort des Kopiervorgangs entspricht dem Standort des Log-Buckets, aus dem Sie kopieren.
Kopiervorgänge anzeigen und verwalten
Mit den gcloud logging operations
-Befehlen können Sie Ihre Kopiervorgänge aufrufen und verwalten, um Folgendes zu tun:
Bei den folgenden Befehlen müssen Sie den Speicherort des Vorgangs angeben. Verwenden Sie den Speicherort Ihres Log-Buckets. Informationen zum Speicherort Ihres Log-Buckets finden Sie unter Details eines Buckets ansehen.
Kopiervorgänge auflisten
Sie können aktuelle Kopiervorgänge auflisten, einschließlich geplanter, ausgeführter, abgeschlossener, fehlgeschlagener und abgebrochener Vorgänge. Aktuelle Kopiervorgänge werden bis zu 30 Tage nach dem Ende in den Ergebnissen angezeigt.
Führen Sie den folgenden Befehl aus, um Kopiervorgänge aufzulisten:
gcloud logging operations list --location=LOCATION \
--operation-filter=request_type=CopyLogEntries \
--project=PROJECT_ID
Führen Sie vor dem Ausführen des vorherigen Befehls die folgenden Schritte aus:
- Ersetzen Sie LOCATION durch den Speicherort des Protokoll-Buckets, aus dem Sie kopieren.
- Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.
Der Befehl gibt Informationen zum Vorgang mit langer Ausführungszeit zurück, einschließlich der Vorgangs-ID:
projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Status eines Kopiervorgangs abrufen
Sie können den Status und andere Metadaten zu Kopiervorgängen abrufen, darunter:
startTime
: Der Zeitstempel, der die Erstellung des Vorgangs angibtendTime
: Der Zeitstempel, der den Abschluss des Vorgangs angibtstate
: Der Status des Vorgangs (geplant, ausgeführt, abgebrochen, fehlgeschlagen oder erfolgreich)cancellation
: Gibt an, ob der Nutzer angefordert hat, den Vorgang abzubrechenprogress
: Geschätzter Fortschritt des Vorgangs (0–100%)destination
: Der Name des Cloud Storage-Buckets, in den der Vorgang Logs kopiertfilter
: Der Filter, der angibt, welche Logeinträge kopiert werden sollenname
: Der Name des Buckets, aus dem der Vorgang Logs kopiert.logEntriesCopiedCount
: Die Anzahl der Logeinträge, die vom Vorgang erfolgreich in den Cloud Storage-Bucket kopiert wurden
Beachten Sie, dass nicht alle aufgelisteten Metadatenfelder für jeden Kopiervorgang gelten.
Wenn beispielsweise ein Kopiervorgang noch ausgeführt wird, gelten die endtime
-Metadaten nicht für den Vorgang. Wenn das Flag --log-filter=FILTER
beim Ausführen des Befehls gcloud logging copy
nicht verwendet wurde, gelten die filter
-Metadaten auch nicht für den Vorgang.
Führen Sie den folgenden Befehl aus, um Informationen zu einem Kopiervorgang abzurufen:
gcloud logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
Führen Sie vor dem Ausführen des vorherigen Befehls die folgenden Schritte aus:
- Ersetzen Sie OPERATION_ID durch die ID des Vorgangs.
- Ersetzen Sie LOCATION durch den Speicherort des Protokoll-Buckets, aus dem Sie kopieren.
- Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.
Der Befehl gibt Metadaten zum Kopiervorgang zurück. Hier sehen Sie beispielsweise eine Ausgabe für einen Vorgang, der gerade ausgeführt wird:
done: false
metadata:
`@type`: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
progress: 75
destination: storage.googleapis.com/my-storage-bucket-1
source: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
verb: copy
startTime: `2024-05-23T10:52:40.039751Z`
state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
</pre>
Kopiervorgang abbrechen
Sie können einen laufenden Kopiervorgang abbrechen. Wenn Sie einen Kopiervorgang abbrechen, bleiben alle Logeinträge, die vor dem Abbruch des Vorgangs kopiert wurden, im Cloud Storage-Bucket.
Nach dem Abbruch eines Kopiervorgangs schließt Logging alle laufenden Prozesse ab, bevor der Abbruch abgeschlossen wird. Dies kann dazu führen, dass einige Logeinträge nach dem Abbruch des Vorgangs weiterhin in Cloud Storage kopiert werden.
Führen Sie den folgenden Befehl aus, um einen Kopiervorgang abzubrechen:
gcloud logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
Führen Sie vor dem Ausführen des vorherigen Befehls die folgenden Schritte aus:
- Ersetzen Sie OPERATION_ID durch die ID des Vorgangs.
- Ersetzen Sie LOCATION durch den Speicherort des Protokoll-Buckets, aus dem Sie kopieren.
- Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.
Logs in Cloud Storage ansehen
Informationen zu den Logs, die Sie in Cloud Storage kopiert haben, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.
Kontingente und Limits
Alle Kopiervorgänge dauern mindestens eine Stunde, unabhängig von der Menge der kopierten Daten.
Wenn Sie ein großes Volumen kopieren möchten, z. B. Petabyte, teilen Sie das Kopieren auf mehrere Kopiervorgänge auf. Verwenden Sie dazu das Feld timestamp
im Flag --filter
.
Mit dem Befehl „copy“ können keine Logeinträge kopiert werden, deren Aufbewahrungsdauer abgelaufen ist.
Preise
Für das Weiterleiten von Logs an ein unterstütztes Ziel fallen in Cloud Logging keine Gebühren an. Es können jedoch Gebühren am Ziel erhoben werden.
Mit Ausnahme des _Required
-Log-Buckets fallen in Cloud Logging Kosten für das Streamen von Logs in Log-Buckets und für die Speicherung über die standardmäßige Aufbewahrungsdauer des Log-Buckets hinaus an.
Für das Kopieren von Logs, das Definieren von Log-Bereichen oder das Ausführen von Abfragen über die Seiten Log-Explorer oder Log Analytics fallen in Cloud Logging keine Gebühren an.
Weitere Informationen finden Sie in folgenden Dokumenten:
- Preisübersicht für Cloud Logging
Kosten für Zielvorhaben:
- Gebühren für die Erzeugung von VPC-Flusslogs werden berechnet, wenn Sie Ihre Virtual Private Cloud-Flusslogs senden und dann von Cloud Logging ausschließen.