Visualizzazione dei log degli errori su Cloud Logging

Questa pagina spiega come visualizzare i log in Google Cloud Observability per i tipi di richiesta supportati.

Logging

Gli errori attivati in ciascuna delle seguenti richieste vengono registrati in Cloud Logging.

Gli errori vengono registrati anche se un messaggio Pub/Sub non può essere pubblicato in Pub/Sub. Per ulteriori informazioni, vedi Risoluzione dei problemi relativi alle notifiche Pub/Sub.

Il logging è automatico e non deve essere abilitato. Per disabilitare Cloud Logging per una o tutte le risorse monitorate, consulta Esclusioni dei log.

Visualizzazione dei log

Per visualizzare tutti i log, vai a Esplora log.

Per visualizzare i log per le operazioni con uno stato di errore:

  1. Nella console Google Cloud, vai al browser dell'API Cloud Healthcare.

    Vai al browser dell'API Cloud Healthcare

  2. Seleziona un set di dati.

  3. Fai clic sulla scheda Operazioni.

  4. Nell'elenco delle operazioni, scegli Visualizza dettagli in Cloud Logging dall'elenco Azioni per visualizzare i dettagli di un'operazione errata.

Filtro dei log

Puoi filtrare i log in base a tipo di datastore, regione e set di dati.

Ad esempio, per visualizzare i log per i datastore FHIR, fai clic su Archivio FHIR Healthcare nel primo elenco in Filtra per etichetta o ricerca testo. Puoi anche cercare per tipo di risorsa. Ad esempio, la ricerca di healthcare_dicom_store mostra tutti i log generati per le operazioni con resource.type impostato su healthcare_dicom_store.

Per i campi di log viene applicata la codifica UTF-8. I caratteri che non sono UTF-8 vengono sostituiti con punti interrogativi.

Per informazioni dettagliate su Esplora log, consulta Utilizzo di Esplora log.

Utilizzo di Cloud Logging per trovare gli eventi di errore

Puoi anche utilizzare Cloud Logging per trovare l'audit log di un evento che causa un errore. Per trovare un evento di errore negli audit log:

  1. Cerca in Cloud Logging l'operazione che ha causato.

  2. Utilizzando i dettagli del log dell'operazione, esegui nuovamente il comando specifico.

  3. Visualizza gli audit log per l'evento corrispondente. Per ulteriori informazioni sugli audit log, consulta Visualizzazione di Cloud Audit Logs.

Cosa viene registrato

Le voci di log dell'API Cloud Healthcare contengono i seguenti tipi di informazioni per il debug delle richieste:

  • Informazioni generali, come gravità, ID progetto, numero di progetto e timestamp.
  • jsonPayload contiene il corpo effettivo della voce. Questo campo contiene il codice di errore, il messaggio di errore e il nome del file di origine la cui importazione ha attivato l'errore.
  • operation contiene il tipo e l'ID dell'operazione che ha generato l'errore.
  • resource contiene la località, il set di dati e il datastore coinvolti nell'errore.

Se il numero di errori supera una soglia, viene visualizzato un numero limitato di errori in Cloud Logging. La soglia viene calcolata dinamicamente in base alle dimensioni dell'input.

Dove sono archiviati i log

L'osservabilità di Google Cloud non è un prodotto regionalizzato. I log scritti in Google Cloud Observability potrebbero essere archiviati in una regione diversa dai datastore.

Esempio di voce di log di importazione DICOM

La seguente voce di log di esempio mostra un errore empty DICOM instance found che si è verificato durante il tentativo di importare gs://DICOM_FILENAME.dcm in projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID.

 jsonPayload: {
  @type:  "type.googleapis.com/google.cloud.healthcare.logging.ImportDicomLogEntry"
  error: {
   code:  3
   message:  "empty DICOM instance found"
  }
  source:  "gs://DICOM_FILENAME.dcm"
 }
 logName:  "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Foperations"
 operation: {
  id:  "PROJECT_ID"
  producer:  "import_dicom"
 }
 receiveTimestamp:  "TIMESTAMP"
 resource: {
  labels: {
   dataset_id:  "DATASET_ID"
   dicom_store_id:  "DICOM_STORE_ID"
   location:  "LOCATION"
   project_id:  "PROJECT_ID"
  }
  type:  "healthcare_dicom_store"
 }
 severity:  "ERROR"
 timestamp:  "TIMESTAMP"

Esempio di voce di log di importazione FHIR

La seguente voce di log di esempio mostra un errore cannot import resource che si è verificato durante il tentativo di importare gs://FHIR_FILENAME.ndjson in projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStore/FHIR_STORE_ID.

 jsonPayload: {
  @type:  "type.googleapis.com/google.cloud.healthcare.logging.ImportFhirLogEntry"
  error: {
   code:  3
   message:  "cannot import resource Patient/PATIENT_ID, conflicting resource already exists"
  }
  source:  "gs://FHIR_FILENAME.ndjson"
 }
 logName:  "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Foperations"
 operation: {
  id:  "PROJECT_ID"
  producer:  "import_fhir"
 }
 receiveTimestamp:  "TIMESTAMP"
 resource: {
  labels: {
   dataset_id:  "DATASET_ID"
   fhir_store_id:  "FHIR_STORE_ID"
   location:  "LOCATION"
   project_id:  "PROJECT_ID"
  }
  type:  "healthcare_fhir_store"
 }
 severity:  "ERROR"
 timestamp:  "TIMESTAMP"

Esempio di voce di log di importazione delle annotazioni

La seguente voce di log di esempio mostra un errore failed to parse Cloud Storage object che si è verificato durante il tentativo di importare gs://ANNOTATION_FILE.json in projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID.

jsonPayload: {
  @type:
  "type.googleapis.com/google.cloud.healthcare.logging.ImportAnnotationLogEntry"
  error: {
    code:  3
    message:  "failed to parse Cloud Storage object"
  }
  source:  "gs://ANNOTATION_FILE.json"
}
logName:
"projects/PROJECT_ID/logs/healthcare.googleapis.com%2Fimport_annotations"
operation: {
  id:
  "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
  producer:  "healthcare.googleapis.com/ImportAnnotations"
}
receiveTimestamp:  "TIMESTAMP"
resource: {
  labels: {
    annotation_store_id:  "ANNOTATION_STORE_ID"
    dataset_id:  "DATASET_ID"
    location:  "LOCATION"
    project_id:  "PROJECT_ID"
  }
  type:  "healthcare_annotation_store"
}
severity:  "ERROR"
timestamp:  "TIMESTAMP"

Voce di log per l'anonimizzazione DICOM di esempio

La seguente voce di log di esempio mostra un errore cannot de-identify dicom instance che si è verificato durante il tentativo di anonimizzare l'istanza DICOM INSTANCE_ID nel set di dati projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID.

 jsonPayload: {
  @type:  "type.googleapis.com/google.cloud.healthcare.logging.DeidentifyLogEntry"
  error: {
   code:  2
   message:  "Failed to process instance INSTANCE_ID"
  }
  resourceName:  "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
 }
 logName:  "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Fdeidentify_dataset"
 operation: {
  id:  "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
  producer:  "healthcare.googleapis.com/DeidentifyDataset"
 }
 receiveTimestamp:  "TIMESTAMP"
 resource: {
  labels: {
   dataset_id:  "DATASET_ID"
   location:  "LOCATION"
   project_id:  "PROJECT_ID"
  }
  type:  "healthcare_dataset"
 }
 severity:  "ERROR"
 timestamp:  "TIMESTAMP"

Passaggi successivi