Afficher les journaux d'erreurs dans Cloud Logging

Cette page explique comment afficher les journaux dans l'observabilité Google Cloud pour les types de requêtes acceptés.

Journalisation

Les erreurs déclenchées dans chacune des requêtes suivantes sont consignées dans Cloud Logging.

Les erreurs sont également consignées si un message Pub/Sub ne peut pas être publié sur Pub/Sub. Consultez la section Dépannage des notifications Pub/Sub pour en savoir plus.

La journalisation est automatique et n'a pas besoin d'être activée. Pour désactiver Cloud Logging pour une ou toutes les ressources surveillées, consultez la section Exclusions de journaux.

Afficher les journaux

Pour afficher tous les journaux, accédez à l'explorateur de journaux.

Pour afficher les journaux des opérations associées à un état d'erreur, procédez comme suit :

  1. Dans la console Google Cloud, accédez au navigateur de l'API Cloud Healthcare.

    Accéder au navigateur de l'API Cloud Healthcare

  2. Sélectionnez un ensemble de données.

  3. Cliquez sur l'onglet Opérations.

  4. Dans la liste des opérations, sélectionnez Afficher les détails dans Cloud Logging dans la liste Actions pour afficher les détails d'une opération erronée.

Filtrer les journaux

Vous pouvez filtrer les journaux par type de data store, région et ensemble de données.

Par exemple, pour afficher les journaux des magasins FHIR, cliquez sur Magasin FHIR Healthcare dans la première liste sous Filtrer par libellé ou recherche textuelle. Vous pouvez également effectuer une recherche par type de ressource. Par exemple, la recherche de healthcare_dicom_store affiche tous les journaux générés pour les opérations avec resource.type défini sur healthcare_dicom_store.

Le UTF-8 est appliqué aux champs de journaux. Les caractères qui ne sont pas au format UTF-8 sont remplacés par des points d'interrogation.

Pour en savoir plus sur l'explorateur de journaux, consultez la page Utiliser l'explorateur de journaux.

Rechercher des événements associés à des erreurs à l'aide de Cloud Logging

Vous pouvez également utiliser Cloud Logging pour rechercher le journal d'audit d'un événement à l'origine d'une erreur. Pour trouver un événement d'erreur dans les journaux d'audit, procédez comme suit :

  1. Recherchez l'opération à l'origine de l'erreur dans Cloud Logging.

  2. À l'aide des détails du journal de l'opération, exécutez à nouveau la commande spécifique.

  3. Consultez les journaux d'audit pour l'événement correspondant. Pour en savoir plus sur les journaux d'audit, consultez la section Consulter les journaux d'audit Cloud.

Contenu consigné

Les entrées de journal de l'API Cloud Healthcare contiennent les types d'informations suivants pour les requêtes de débogage :

  • Informations générales, telles que le niveau de gravité, l'ID de projet, le numéro de projet, et l'horodatage.
  • jsonPayload contient le corps réel de l'entrée. Ce champ contient le code d'erreur, le message d'erreur et le nom du fichier source dont l'importation a déclenché l'erreur.
  • operation contient le type et l'ID de l'opération qui a généré l'erreur.
  • resource contient l'emplacement, l'ensemble de données et le data store impliqués dans l'erreur.

Si le nombre d'erreurs dépasse un certain seuil, un nombre limité d'erreurs apparaît dans Cloud Logging. Le seuil est calculé de manière dynamique en fonction de la taille de l'entrée.

Emplacement de stockage des journaux

L'observabilité Google Cloud n'est pas un produit régionalisé. Les journaux écrits dans Google Cloud Observability peuvent être stockés dans une région différente des datastores.

Exemple d'entrée de journal d'importation DICOM

L'exemple d'entrée de journal suivant affiche une erreur empty DICOM instance found qui s'est produite lors de la tentative d'importation de gs://DICOM_FILENAME.dcm dans 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"

Exemple d'entrée de journal d'importation FHIR

L'exemple d'entrée de journal suivant affiche une erreur cannot import resource qui s'est produite lors de la tentative d'importation de gs://FHIR_FILENAME.ndjson dans 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"

Exemple d'entrée de journal d'importation d'annotations

L'exemple d'entrée de journal suivant affiche une erreur failed to parse Cloud Storage object qui s'est produite lors de la tentative d'importation de gs://ANNOTATION_FILE.json dans 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"

Exemple d'entrée de journal d'anonymisation DICOM

L'exemple d'entrée de journal suivant affiche une erreur cannot de-identify dicom instance qui s'est produite lors de la tentative de suppression de l'identification de l'instance DICOM INSTANCE_ID dans l'ensemble de données 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"

Étapes suivantes