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 senza agente e per i trasferimenti dallo spazio di archiviazione compatibile con S3. Per informazioni sui log di trasferimento del file system, consulta Log dei trasferimenti del file system.
Prima di iniziare
Prima di iniziare, verifica di avere accesso a Cloud Logging. Consigliamo il ruolo Visualizzatore log (roles/logging.viewer) Identity and Access Management. Per ulteriori informazioni sull'accesso a Logging, consulta Controllo dell'accesso con IAM.
Quanto segue descrive 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
Puoi registrare le seguenti azioni:
FIND
: ricerca del lavoro da fare, ad esempio elencare i file in una directory o elencare gli oggetti in un bucket. Non supportato per i trasferimenti da uno spazio di archiviazione compatibile con S3.COPY
: copia di file o oggetti in Cloud Storage.DELETE
: eliminazione di file o oggetti nell'origine o nella destinazione.
Per ogni azione, puoi scegliere di registrare gli stati di operazione riuscita e/o di errore.
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 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 vanno a buon fine, fornisci il seguente loggingConfig
:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Aggiorna 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
Per disabilitare 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 disabilitare il logging 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 progetto Google Cloud.
Dal menu Upgrade, passa da 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 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, 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 oggetto di richiesta JSON di esempio.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Formato 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 in un campo 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 specifica attività. Il valore sarà uno dei seguenti:
|
completeTime |
Il timestamp conforme allo standard ISO 8601 in cui è stata completata l'operazione. |
destinationContainer |
Presenta solo per le operazioni Il container di destinazione per questo trasferimento. Solo i bucket Cloud Storage sono supportati per il logging. Contiene due campi secondari:
|
destinationObject |
Presente solo per le operazioni Informazioni sull'oggetto così come è stato scritto in Cloud Storage. Contiene due campi secondari:
Ad esempio: destinationObject: { gcsObject: { bucket: "my-bucket-2" objectKey: "README.md" } type: "GCS" } |
operation |
Il nome completo di
transferOperations . |
sourceContainer |
Presenta 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 resource
di primo livello contiene i campi riportati di seguito.
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 di Storage Transfer Service a cui appartiene questo log. |
resource.labels.project_id |
L'ID progetto Google Cloud per questo trasferimento. |