Auf dieser Seite wird beschrieben, wie bereits gespeicherte Logeinträge manuell kopiert werden in Cloud Logging-Log-Buckets in Cloud Storage-Buckets auf. Möglicherweise möchten Sie Logeinträge aus Log-Buckets in Cloud Storage kopieren Buckets. Dafür gibt es folgende Gründe:
- 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 werden nicht ersetzt sinks, die automatisch alle eingehende Logeinträge an ein vorausgewähltes unterstütztes Speicherziel, einschließlich Cloud Storage-Buckets. Verwenden Sie Senken, wenn Sie wissen, dass Sie zum Speichern von Logeinträgen in einem Cloud Storage-Bucket.
Um Protokolle zu kopieren und dann den Vorgang zu verwalten und zu überwachen, müssen Sie die Methode Google Cloud CLI
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 Logs aus Log-Buckets kopieren, CMEK konfiguriert.
Hinweise
Bevor Sie mit dem Kopieren von Logs beginnen, gehen Sie so vor:
- Vergewissern Sie sich, dass Sie die neueste Version des gcloud CLI Anleitungen zur Installation oder aktualisieren Sie die gcloud CLI, siehe Google Cloud CLI-Komponenten verwalten
-
Um die erforderlichen Berechtigungen zu erhalten, müssen Sie Logeinträge aus Logging kopieren und dann die Logeinträge in Cloud Storage, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für Ihr Projekt:
-
Logging-Administrator (
roles/logging.admin
) -
Storage-Objekt-Ersteller (
roles/storage.objectCreator
)
-
Logging-Administrator (
-
So erhalten Sie die Berechtigungen, die Sie zum Ansehen und Verwalten des Status eines Kopiervorgangs benötigen: bitten Sie Ihren Administrator, Ihnen IAM-Rolle Autor von Logkonfigurationen (
roles/logging.configWriter
) für Ihr Projekt.
Logeinträge kopieren
Logging kopiert nur Logeinträge, die zu Beginn des Kopiervorgangs im Log-Bucket gespeichert sind. Logeinträge, die in Log-Buckets gespeichert sind nachdem der Kopiervorgang gestartet wurde, werden nicht in Cloud Storage kopiert.
Zum Kopieren von Logeinträgen in Cloud Storage benötigen Sie die folgenden Informationen:
- Die ID und der Speicherort des Log-Buckets, aus dem Sie kopieren.
Verwenden Sie zum Abrufen der Log-Bucket-ID und des Speicherorts die Methode
gcloud CLI-Befehl
gcloud logging buckets list
- Der Name des Cloud Storage-Bucket, in den Sie kopieren. Weitere Informationen Informationen zum Abrufen des Cloud Storage-Bucket-Namens finden Sie unter Informationen zu Cloud Storage-Bucket abrufen
- Filter für die Logeinträge, die Sie die Sie kopieren möchten.
Führen Sie zum Kopieren von Logeinträgen den Befehl
gcloud logging copy
-Befehl:
gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME \
--location=LOCATION --log-filter='FILTER' --project=PROJECT_ID
Führen Sie die folgenden Schritte aus, bevor Sie den vorherigen Befehl ausführen:
- Ersetzen Sie BUCKET_ID durch den Namen Ihres Log-Buckets.
- Ersetzen Sie CLOUD_STORAGE_BUCKET_NAME dabei durch den Namen des Cloud Storage-Buckets.
- Ersetzen Sie LOCATION durch den Speicherort des Log-Buckets.
(Optional): Ersetzen Sie FILTER durch den Filter, der definiert, welche Logs kopiert.
Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID. Sie können dieses Flag auslassen, wenn die aktive gcloud CLI ist auf das richtige Google Cloud-Projekt festgelegt.
Beispielbefehl:
gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2021-03-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 Logs kopieren.
Kopiervorgänge anzeigen und verwalten
Sie können Ihre Kopiervorgänge mithilfe der
gcloud logging operations
mit denen Sie Vorgänge auflisten, ansehen und abbrechen können.
Für die folgenden Befehle müssen Sie den Speicherort des Vorgangs angeben. Verwenden Sie den Standort Ihres Log-Buckets. Informationen dazu, wie Sie die Standort Ihres Log-Buckets, siehe Details eines Buckets aufrufen
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 in den Ergebnissen angezeigt bis zu 30 Tage nach dem Ende.
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 die folgenden Schritte aus, bevor Sie den vorherigen Befehl ausführen:
- Ersetzen Sie LOCATION durch den Speicherort des Log-Buckets, von dem aus Sie Daten abrufen. Kopieren von Logs
- 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 Log-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 die folgenden Schritte aus, bevor Sie den vorherigen Befehl ausführen:
- Ersetzen Sie OPERATION_ID durch die ID des Vorgangs.
- Ersetzen Sie LOCATION durch den Speicherort des Log-Buckets, von dem aus Sie Daten abrufen. Kopieren von Logs
- 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: `2023-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 die folgenden Schritte aus, bevor Sie den vorherigen Befehl ausführen:
- Ersetzen Sie OPERATION_ID durch die ID des Vorgangs.
- Ersetzen Sie LOCATION durch den Speicherort des Log-Buckets, von dem aus Sie Daten abrufen. Kopieren von Logs
- 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 davon, wie viele Daten, die kopiert werden.
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
.
Preise
In Cloud Logging fallen keine Kosten für das Weiterleiten von Logs an einen
unterstütztes Ziel; Am Ziel fallen jedoch möglicherweise Gebühren an.
Mit Ausnahme des Log-Buckets _Required
Cloud Logging berechnet Gebühren für das Streamen von Logs in Log-Buckets und
die länger als die standardmäßige Aufbewahrungsdauer des Log-Buckets ist.
Cloud Logging ist kostenlos für das Kopieren von Logs oder für Abfragen, die über die Log-Explorer oder über die Seite Loganalysen aufrufen.
Weitere Informationen finden Sie in folgenden Dokumenten:
- Preisübersicht für Cloud Logging
Zielkosten:
- Gebühren für die Erzeugung von VPC-Flusslogs werden angewendet, wenn Sie Ihre Virtual Private Cloud-Flusslogs senden und dann von Cloud Logging ausschließen.