Questa pagina descrive come configurare e visualizzare i log di Cloud Logging per 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 agente.
I trasferimenti del file system possono configurare anche i log di trasferimento del file system.
Prima di iniziare
Prima di iniziare, verifica di avere accesso a Cloud Logging. Ti consigliamo il ruolo Visualizzatore log (roles/logging.viewer) di Identity and Access Management. Per ulteriori informazioni sull'accesso a Logging, consulta Controllo dell'accesso con IAM.
Di seguito viene descritto come verificare e concedere l'accesso IAM:
- Visualizza l'accesso attuale per verificare l'accesso di ogni entità.
- Concedi un ruolo alle entità pertinenti nel tuo progetto.
Azioni registrabili
È possibile registrare le seguenti azioni:
FIND
: sta cercando attività da svolgere, ad esempio elencare i file in una directory o elencare gli oggetti in un bucket. Non supportato per i trasferimenti basati su agente.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, registra anche l'eliminazione dei file dal bucket Cloud Storage intermediario.
Per ogni azione puoi scegliere di registrare gli stati di operazione riuscita e/o non riuscita.
Abilita il logging
Per abilitare 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 abilitare 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 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 gli logActions
e
logActionStates
specifici da registrare. Ad esempio, per registrare quando le azioni di copia e ricerca non vanno a buon fine,
fornisci quanto segue: loggingConfig
:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Aggiorna una configurazione di logging
Interfaccia a riga di comando gcloud
Per aggiornare la configurazione del logging 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 disabilitare il logging per questo job, specifica --clear-log-config
:
gcloud transfer jobs update NAME --clear-log-config
REST
Per aggiornare la configurazione del 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 disabilitare il logging per questo job, invia un'istruzione 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 Upgrade, passa da Visualizzatore log legacy a Esplora log.
Per filtrare i log in modo che mostrino 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 cambiare il periodo di tempo per cui restituire i risultati.
Per ulteriori informazioni sull'utilizzo di Esplora log, consulta 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 dell'API Cloud Logging entries.list
.
Per filtrare i risultati in modo da includere solo le voci correlate a Storage Transfer Service,
utilizza il campo filter
. Di seguito è riportato un esempio di oggetto di richiesta JSON.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Formato del log di trasferimento
La seguente sezione descrive i campi per i log di Storage Transfer Service.
Tutti i campi specifici di Storage Transfer Service sono contenuti all'interno di 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"
}
}
}
COPY
e DELETE
azioni
{
"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:
|
completeTime |
Il timestamp conforme allo standard ISO 8601 in cui è stata completata l'operazione. |
destinationContainer |
Presente solo per Il container 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 completo di
transferOperations . |
sourceContainer |
Presente solo per Il container 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 resource
di primo livello 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 il log. |
resource.labels.project_id |
L'ID del progetto Google Cloud per questo trasferimento. |