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 nei log per i trasferimenti basati su agenti.
I trasferimenti del file system possono anche configurare i log di trasferimento del file system.
Prima di iniziare
Prima di iniziare, verifica di avere accesso a Cloud Logging. Ti consigliamo il ruolo Identity and Access Management Visualizzatore log (roles/logging.viewer). Per saperne di più sull'accesso alla registrazione, 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
Possono essere registrate le seguenti azioni:
FIND: ricerca di attività da svolgere, ad esempio elencare i file in una directory, gli oggetti in un bucket o le cartelle gestite in un bucket. Non supportato per 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, registra anche l'eliminazione dei file dal bucket Cloud Storage intermedio.
Stati registrabili
Per ogni azione, puoi scegliere di registrare uno o più dei seguenti stati:
SUCCEEDED: l'azione è stata eseguita correttamente.FAILED: l'azione non è riuscita.SKIPPED: si applica solo all'azione COPY ed è supportato solo per i job di trasferimento basati su agenti. Deve essere impostato utilizzandogcloudo l'API REST. Questo stato indica che la copia è stata ignorata. Ciò si verifica quando il file esiste già nel sink e il job di trasferimento è configurato per ignorare i file esistenti.
Abilita il logging
Per attivare la registrazione, 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 la registrazione:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
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", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
"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 per includere logActions e logActionStates specifici da registrare. Ad esempio, per registrare quando le azioni di copia e ricerca non vanno a buon fine,
fornisci il seguente loggingConfig:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Aggiornare una configurazione di logging
Interfaccia a riga di comando gcloud
Per aggiornare la configurazione di 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,skipped
Per disattivare la registrazione 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", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
updateTransferJobFieldMask specifica il campo che viene aggiornato in
questa richiesta ed è obbligatorio.
Per disattivare la registrazione per questo job, invia un 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 Google Cloud progetto.
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_jobnel campo della query e fai clic su Esegui query.Nel riquadro Risultati della query, fai clic su Modifica data/ora per modificare il periodo di tempo per cui restituire i risultati.
Per saperne di più 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 dell'API Cloud Logging entries.list.
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"
}
}
}
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 attività specifica. 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 allo standard ISO 8601 in cui è stata completata l'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 completo di
transferOperations. |
sourceContainer |
Presente solo per le operazioni 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 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. |