Auf dieser Seite wird beschrieben, wie Sie Cloud Logging für Storage Transfer Service-Logs.
Cloud Logging für Storage Transfer Service wird für alle Übertragungen unterstützt. FIND
Vorgänge werden für agent-basierte Übertragungen nicht protokolliert.
Bei Dateisystemübertragungen können zusätzlich Übertragungsprotokolle des Dateisystems
Hinweise
Prüfen Sie zuerst, ob Sie Zugriff auf Cloud Logging haben. Wir empfehlen die Identitäts- und Zugriffsverwaltungsrolle Logbetrachter (roles/logging.viewer). Weitere Informationen zum Logging-Zugriff finden Sie unter Zugriffssteuerung mit IAM.
Im Folgenden wird beschrieben, wie Sie den IAM-Zugriff überprüfen und gewähren:
- Sehen Sie sich die aktuellen Zugriffsrechte an, um den Zugriff der einzelnen Hauptkonten zu prüfen.
- Weisen Sie den entsprechenden Hauptkonten in Ihrem Projekt eine Rolle zu.
Protokollierbare Aktionen
Die folgenden Aktionen können protokolliert werden:
FIND
: Nach zu erledigenden Aufgaben suchen, z. B. Dateien in einem Verzeichnis oder Eintrag auflisten Objekte in einem Bucket. Nicht unterstützt für agentenbasierte Übertragungen.COPY
: Dateien oder Objekte in Cloud Storage kopieren.DELETE
: Dateien oder Objekte an der Quelle oder am Ziel löschen. Bei Übertragungen zwischen zwei Dateisystemen wird auch das Löschen von Dateien aus dem Cloud Storage-Zwischen-Bucket protokolliert.
Für jede Aktion können Sie den Erfolgs- und/oder Fehlerstatus protokollieren.
Logging aktivieren
Geben Sie die zu protokollierenden Aktionen und Status an, um das Logging zu aktivieren.
gcloud-CLI
Wenn Sie einen Übertragungsjob mit gcloud transfer jobs create
erstellen, verwenden Sie die folgenden Flags, um das Logging zu aktivieren:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed
Sie müssen für jedes Flag mindestens einen Wert angeben.
REST
Verwenden Sie zum Erstellen einer Logging-Konfiguration transferJobs.create
mit einer LoggingConfig
:
{
"name":"transferJobs/myFirstTransfer",
"status": "ENABLED",
"projectId": "test-id-001",
"loggingConfig": {
"logActions": ["FIND", "DELETE", "COPY"],
"logActionStates": ["SUCCEEDED", "FAILED"],
},
"transferSpec": {
"awsS3DataSource": {
"bucketName": "AWS_SOURCE_NAME",
"awsAccessKey": {
"accessKeyId": "AWS_ACCESS_KEY_ID",
"secretAccessKey": "AWS_SECRET_ACCESS_KEY"
}
},
"gcsDataSink": {
"bucketName": "destination_bucket",
"path": "foo/bar/"
},
}
}
Passen Sie loggingConfig
so an, dass die spezifischen logActions
und
logActionStates
zum Protokollieren. Um beispielsweise zu protokollieren, wenn Aktionen beim Kopieren und Suchen fehlschlagen,
folgende loggingConfig
angeben:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Logging-Konfiguration aktualisieren
gcloud-CLI
Verwenden Sie zum Aktualisieren der Logging-Konfiguration eines vorhandenen Jobs die entsprechende
Flags mit dem Befehl gcloud transfer jobs update
:
gcloud transfer jobs update NAME \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed
Geben Sie --clear-log-config
an, um das Logging für diesen Job zu deaktivieren:
gcloud transfer jobs update NAME --clear-log-config
REST
Verwenden Sie zum Aktualisieren der Logging-Konfiguration eines vorhandenen Übertragungsjobs den
transferJobs.patch
mit
LoggingConfig
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": ["FIND", "DELETE", "COPY"],
"logActionStates": ["SUCCEEDED", "FAILED"],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Mit updateTransferJobFieldMask
wird das Feld angegeben, das in
und ist erforderlich.
Um das Logging für diesen Job zu deaktivieren, senden Sie einen loggingConfig
mit leeren Listen für
logActions
und logActionStates
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": [],
"logActionStates": [],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Logs ansehen
So rufen Sie Übertragungslogs auf:
Google Cloud Console
Rufen Sie das Google Cloud-Navigationsmenü menu auf und wählen Sie Logging > Log-Explorer aus:<br\></br\>
Wählen Sie ein Google Cloud-Projekt aus.
Wechseln Sie im Menü Upgrade von Legacy-Loganzeige zu Log-Explorer.
Wenn Sie Ihre Logs so filtern möchten, dass nur Storage Transfer Service-Einträge angezeigt werden, geben Sie in das Abfragefeld
storage_transfer_job
ein und klicken Sie auf Abfrage ausführen.Klicken Sie im Bereich Abfrageergebnisse auf Zeit bearbeiten, um den Zeitraum zu ändern, für den Ergebnisse zurückgegeben werden sollen.
Informationen zur Verwendung des Log-Explorers finden Sie unter Log-Explorer verwenden.
gcloud-CLI
Wenn Sie mit der gcloud CLI nach Storage Transfer Service-Logs suchen möchten, verwenden Sie den Befehl gcloud logging read
.
Geben Sie einen Filter an, um Ihre Ergebnisse auf Storage Transfer Service-Logs zu beschränken.
gcloud logging read "resource.type=storage_transfer_job"
Cloud Logging API
Verwenden Sie die Cloud Logging API-Methode entries.list
.
Verwenden Sie das Feld filter
, um Ihre Ergebnisse so zu filtern, dass nur Einträge in Storage Transfer Service enthalten sind. Unten finden Sie ein Beispiel für ein JSON-Anfrageobjekt.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Format von Übertragungslogs
Im folgenden Abschnitt werden die Felder für Storage Transfer Service-Logs beschrieben:
Alle Storage Transfer Service-spezifischen Felder sind in einem
jsonPayload
-Objekt.
FIND
Aktionen
{
"jsonPayload": {
"@type": "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog",
"action": "FIND",
"completeTime": "2021-12-16T18:58:49.344509695Z",
"destinationContainer": {
"gcsBucket": {
"bucket": "my-bucket-2",
},
"type": "GCS",
},
"operation": "transferOperations/transferJobs-7876027868280507149--3019866490856027148",
"sourceContainer": {
"gcsBucket": {
"bucket": "my-bucket-1"
},
"type": "GCS"
},
"status": {
"statusCode": "OK"
}
}
}
COPY
- und DELETE
-Aktionen
{
"jsonPayload": {
"@type": "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog",
"action": "COPY",
"completeTime": "2021-12-16T18:59:00.510509049Z",
"destinationObject": {
"gcsObject": {
"bucket": "my-bucket-2",
"objectKey": "README.md"
},
"type": "GCS",
},
"operation": "transferOperations/transferJobs-7876027868280507149--3019866490856027148",
"sourceObject": {
"gcsObject": {
"bucket": "my-bucket-1",
"lastModifiedTime": "2021-12-07T16:41:09.456Z",
"md5": "WgnCOIdfCXNTUDpQJSKb2w==",
"objectKey": "README.md",
},
"type": "GCS",
},
"status": {
"statusCode": "OK"
}
}
}
Logfeld | Beschreibung |
---|---|
|
|
@type |
Der Wert ist immer type.googleapis.com/google.storagetransfer.logging.TransferActivityLog |
action |
Beschreibt die Aktion dieser bestimmten Aufgabe. Beispiele:
|
completeTime |
Der ISO 8601-konforme Zeitstempel, zu dem der Vorgang abgeschlossen wurde. |
destinationContainer |
Nur für Der Zielcontainer für diese Übertragung. Enthält zwei untergeordneten Feldern:
|
destinationObject |
Nur für Informationen zum Objekt am Ziel. Enthält zwei untergeordneten Feldern:
Beispiel: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } } |
operation |
Der vollständig qualifizierte transferOperations -Name. |
sourceContainer |
Nur für Der Quellcontainer für diese Übertragung. Enthält zwei Unterfelder:
Beispiel: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" } type: "GCS" } |
sourceObject |
Nur für Informationen zum Quellobjekt. Enthält zwei Unterfelder:
Beispiel: "sourceObject": { "gcsObject": { "bucket": "my-bucket-1" "lastModifiedTime": "2021-12-07T16:41:09.456Z" "md5": "WgnCOIdfCXNTUDpQJSKb2w==" "objectKey": "README.md" } type: "GCS" } |
status |
Der Status der Aktion. Wenn |
Außerdem enthält das übergeordnete Feld resource
die folgenden Felder.
"resource": {
"labels": {
"job_id": "transferJobs/7876027868280507149"
"project_id": "my-project-id"
}
"type": "storage_transfer_job"
}
Logfeld | Beschreibung |
---|---|
resource.labels.job_id |
Der Name des Storage Transfer Service-Jobs, zu dem dieses Log gehört. |
resource.labels.project_id |
Die Google Cloud-Projekt-ID für diese Übertragung. |