Questa pagina descrive come configurare e visualizzare Cloud Logging per i log di Storage Transfer Service.
Cloud Logging per Storage Transfer Service è supportato per tutti i trasferimenti. Le operazioni FIND
non vengono registrate per i trasferimenti basati su agenti.
I trasferimenti del file system possono anche configurare log di trasferimento del file system.
Prima di iniziare
Prima di iniziare, verifica di avere accesso a Cloud Logging. Consigliamo il ruolo Visualizzatore log (roles/logging.viewer) di Identity and Access Management. Per ulteriori informazioni sull'accesso ai log, consulta Controllo dell'accesso con IAM.
Di seguito viene descritto come verificare e concedere l'accesso IAM:
- Visualizza l'accesso corrente per verificare l'accesso di ogni entità.
- Assegna un ruolo alle entità pertinenti del progetto.
Azioni registrabili
È possibile registrare le seguenti azioni:
FIND
: trovare lavoro da svolgere, ad esempio elencare i file in una directory, elencare gli oggetti in un bucket o elencare le cartelle gestite in un bucket. Non supportato per i trasferimenti basati su agenti.COPY
: copia di file o oggetti in Cloud Storage.DELETE
: eliminazione di file o oggetti nell'origine o nella destinazione. Per i trasferimenti tra due file system, vengono registrati anche l'eliminazione dei file dal bucket Cloud Storage intermedio.
Per ogni azione, puoi scegliere di registrare gli stati di successo e/o errore.
Abilita il logging
Per attivare il logging, specifica le azioni e gli stati da registrare.
Interfaccia a riga di comando gcloud
Quando crei un job di trasferimento con gcloud transfer jobs create
, utilizza i seguenti flag per attivare il logging:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed
Devi specificare almeno un valore per ogni flag.
REST
Per creare una configurazione di logging, utilizza
transferJobs.create
con un
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/"
},
}
}
Modifica loggingConfig
in modo da includere logActions
e
logActionStates
specifici da registrare. Ad esempio, per registrare quando le azioni di copia e ricerca non riescono,
fornisci quanto segue loggingConfig
:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Aggiornare una configurazione di logging
Interfaccia a riga di comando gcloud
Per aggiornare la configurazione di registrazione di un job esistente, utilizza i flag appropriati con il comando gcloud transfer jobs update
:
gcloud transfer jobs update NAME \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed
Per disattivare il logging per questo job, specifica --clear-log-config
:
gcloud transfer jobs update NAME --clear-log-config
REST
Per aggiornare la configurazione di logging di un job di trasferimento esistente, utilizza
transferJobs.patch
con
LoggingConfig
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": ["FIND", "DELETE", "COPY"],
"logActionStates": ["SUCCEEDED", "FAILED"],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
updateTransferJobFieldMask
specifica il campo che viene aggiornato in questa richiesta ed è obbligatorio.
Per disattivare la registrazione per questo job, invia un messaggio loggingConfig
con elenchi vuoti per logActions
e logActionStates
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": [],
"logActionStates": [],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Visualizza i log
Per visualizzare i log di trasferimento:
Console Google Cloud
Vai al menu di navigazione di Google Cloud menu e seleziona Logging > Esplora log :<br\></br\>
Seleziona un progetto Google Cloud.
Nel menu Esegui l'upgrade, passa dal Visualizzatore log legacy a Esplora log.
Per filtrare i log in modo da visualizzare solo le voci di Storage Transfer Service, digita
storage_transfer_job
nel campo della query e fai clic su Esegui query.Nel riquadro Risultati delle query, fai clic su Modifica ora per modificare il periodo di tempo per cui restituire i risultati.
Per ulteriori informazioni sull'utilizzo di Esplora log, vedi Utilizzo di Esplora log.
Interfaccia a riga di comando gcloud
Per utilizzare gcloud CLI per cercare i log di Storage Transfer Service, utilizza il comando gcloud logging read
.
Specifica un filtro per limitare i risultati ai log di Storage Transfer Service.
gcloud logging read "resource.type=storage_transfer_job"
API Cloud Logging
Utilizza il metodo entries.list
dell'API Cloud Logging.
Per filtrare i risultati in modo da includere solo le voci relative a Storage Transfer Service,
utilizza il campo filter
. Di seguito è riportato un oggetto richiesta JSON di esempio.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Formato del log di trasferimento
La sezione seguente descrive i campi per i log di Storage Transfer Service.
Tutti i campi specifici di Storage Transfer Service sono contenuti in un oggetto
jsonPayload
.
FIND
azioni
{
"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"
}
}
}
Azioni COPY
e DELETE
{
"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"
}
}
}
Campo log | Descrizione |
---|---|
|
|
@type |
Il valore è sempre
type.googleapis.com/google.storagetransfer.logging.TransferActivityLog .
|
action |
Descrive l'azione di questa particolare attività. Il valore sarà uno dei seguenti:
|
findAction |
Specifica se l'oggetto dell'azione di ricerca era un oggetto o una cartella gestita. |
completeTime |
Il timestamp conforme a ISO 8601 al termine dell'operazione. |
destinationContainer |
Presente solo per le operazioni Il contenitore di destinazione per questo trasferimento. Contiene due campi secondari:
|
destinationObject |
Presente solo per le operazioni Informazioni sull'oggetto nella destinazione. Contiene due campi secondari:
Ad esempio: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } } |
operation |
Il nome
transferOperations completo. |
sourceContainer |
Presente solo per le operazioni Il contenitore di origine per questo trasferimento. Contiene due campi secondari:
Ad esempio: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" } type: "GCS" } |
sourceObject |
Presente solo per le operazioni Informazioni sull'oggetto di origine. Contiene due campi secondari:
Ad esempio: "sourceObject": { "gcsObject": { "bucket": "my-bucket-1" "lastModifiedTime": "2021-12-07T16:41:09.456Z" "md5": "WgnCOIdfCXNTUDpQJSKb2w==" "objectKey": "README.md" } type: "GCS" } |
status |
Lo stato dell'azione. Se |
Inoltre, il campo di primo livello resource
contiene i seguenti campi.
"resource": {
"labels": {
"job_id": "transferJobs/7876027868280507149"
"project_id": "my-project-id"
}
"type": "storage_transfer_job"
}
Campo log | Descrizione |
---|---|
resource.labels.job_id |
Il nome del job Storage Transfer Service a cui appartiene questo log. |
resource.labels.project_id |
L'ID progetto Google Cloud per questo trasferimento. |