Afficher les journaux d'instances

Cette page explique comment utiliser Cloud Logging pour afficher et interroger les journaux de votre instance Cloud SQL.

Cloud Logging collecte automatiquement les données de journalisation de vos instances Cloud SQL. Vous pouvez utiliser Logging pour interroger, afficher et analyser vos données de journaux afin de résoudre les problèmes et d'améliorer l'observabilité. Pour en savoir plus, consultez la documentation Cloud Logging et les exemples de requêtes Cloud SQL.

Avant de commencer

Pour obtenir les autorisations nécessaires pour utiliser l'explorateur de journaux afin d'afficher les entrées de journal, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Pour afficher les entrées de journal dans le bucket _Required et celles de la vue _Default sur le bucket _Default, ou pour sélectionner un champ d'application des journaux : Visionneuse de journaux (roles/logging.viewer) sur votre projet, dossier ou organisation.
  • Pour afficher toutes les entrées de journal dans les buckets _Required et _Default : Lecteur de journaux privés (roles/logging.privateLogViewer) sur votre projet, dossier ou organisation.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher les journaux

Pour afficher les entrées de journal de votre instance Cloud SQL, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Cloud Logging.

    Accéder à Cloud Logging

  2. Sélectionnez un projet Cloud SQL.
  3. Dans le volet Requête, sélectionnez les options suivantes :
    • Toutes les ressources : sélectionnez Base de données Cloud SQL. Dans la boîte de dialogue, sélectionnez une instance Cloud SQL.
    • Tous les noms de journaux : accédez à la section Cloud SQL et sélectionnez les fichiers journaux correspondant à votre instance. Par exemple :
      • cloudsql.googleapis.com/sqlagent.out
      • cloudsql.googleapis.com/sqlserver.err
    • Tous les niveaux de gravité : sélectionnez un niveau de gravité. Par exemple, sélectionnez Error pour afficher les journaux dont le niveau de gravité est d'au moins Error.
    • Sélecteur de période : sélectionnez une option de période prédéfinie, spécifiez une heure de début et de fin personnalisée, ou centrez la période autour d'un code temporel spécifique.

gcloud

Exécutez la commande gcloud logging pour afficher les entrées de journal. Dans l'exemple ci-dessous, remplacez PROJECT_ID. L'option limit est un paramètre facultatif qui indique le nombre maximal d'entrées à renvoyer.

gcloud logging read "resource.type=cloudsql_database" \
--project=PROJECT-ID \
--limit=10 \
--format=json

Afficher le journal des opérations de l'instance

Vous pouvez afficher les journaux d'une instance à partir du volet Opérations. Les informations suivantes sont consignées dans le volet Opérations pour chaque opération effectuée sur l'instance :

  • Heure à laquelle l'opération est terminée, indiquée dans votre fuseau horaire local
  • Type d'opération
  • État de l'opération
  • Message décrivant le résultat de l'opération.

Si une opération échoue, vous pouvez vous baser sur le message de description du résultat pour identifier et résoudre le problème.

Pour afficher un journal d'opérations d'instance :

  1. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Accédez au volet Opérations et journaux pour afficher le journal des opérations.
Remarque : Le journal des opérations n'inclut pas les opérations effectuées à l'aide d'outils de gestion externes, tels que les outils de ligne de commande SQL Server. Seules les opérations de gestion des utilisateurs et de modification du mot de passe effectuées à l'aide de la consoleGoogle Cloud , de la gcloud CLI ou de l'API Cloud SQL Admin apparaissent dans le journal des opérations.

Afficher les journaux d'application

Les applications qui se connectent à Cloud SQL stockent leurs journaux dans différents emplacements.

App Engine (environnement flexible)

Pour afficher les journaux de vos services App Engine, procédez comme suit :

  1. Accédez à la page Services d'App Engine dans la console Google Cloud  :

    Accéder aux services

  2. Sélectionnez un service dans le tableau, puis cliquez sur Journaux dans la colonne Diagnostiquer.

    Vous êtes redirigé vers l'explorateur de journaux avec une requête qui récupère les journaux de votre service App Engine.

Pour afficher les journaux App Engine dans la section Explorateur de journaux de la consoleGoogle Cloud , utilisez une requête semblable à celle-ci :

resource.type="gae_app"
resource.labels.module_id="default"

Cloud Run

Pour afficher les journaux Cloud Run dans la section Explorateur de journaux de la consoleGoogle Cloud , utilisez une requête semblable à celle-ci :

resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"

Notez que Cloud Run ne signale que les messages d'erreur du proxy d'authentification Cloud SQL.

Proxy d'authentification Cloud SQL

Pour afficher les journaux du proxy d'authentification Cloud SQL dans la section Explorateur de journaux de la consoleGoogle Cloud , utilisez une requête semblable à celle-ci :

log_id("appengine.googleapis.com/cloud-sql-proxy")

Consulter les journaux d'audit

Cloud SQL écrit des journaux Cloud Audit Logs pour enregistrer les activités d'administration et l'accès aux données dans vos ressources. Vous pouvez afficher les types de journaux d'audit suivants pour vos instances Cloud SQL:

  • Activités d'administration : entrées de journal écrites par des appels d'API générés par l'utilisateur ou d'autres actions qui modifient la configuration ou les métadonnées des ressources. Vous ne pouvez pas désactiver ces journaux.
  • Accès aux données : entrées de journal écrites par les appels d'API qui lisent la configuration ou les métadonnées des ressources. Ces journaux incluent également les opérations de lecture ou d'écriture de données fournies par l'utilisateur. Pour écrire des journaux d'audit des accès aux données, vous devez les activer.
  • Événement système : entrées de journal écrites par les systèmes Google Cloud et les agents de service gérés qui modifient la configuration des ressources. Vous ne pouvez pas désactiver ces journaux.

Pour en savoir plus sur l'affichage des journaux d'audit Cloud SQL, y compris une liste complète des méthodes auditées, consultez Journaux d'audit Cloud SQL pour SQL Server.

Tarifs

Pour en savoir plus sur les tarifs de Cloud Logging, consultez le résumé des tarifs de Cloud Logging.

Résoudre les problèmes

Problème Dépannage
Les journaux d'audit sont introuvables. Les journaux d'accès aux données ne sont écrits que si l'opération est un appel d'API authentifié qui crée, modifie ou lit des données créées par l'utilisateur, ou si l'opération accède à des fichiers de configuration ou à des métadonnées de ressources.
Les informations sur les opérations sont introuvables dans les journaux. Vous souhaitez obtenir davantage d'informations sur une opération.

Par exemple, un utilisateur a été supprimé, mais vous ne pouvez pas savoir qui est à l'origine de cette opération. Les journaux indiquent que l'opération a commencé, mais ne fournissent pas plus d'informations. Pour obtenir des informations détaillées et des informations permettant d'identifier personnellement l'utilisateur telles que celles-ci, vous devez activer la journalisation d'audit.

Certains journaux sont filtrés à partir du journal error.log d'une instance Cloud SQL pour SQL Server. Les journaux filtrés incluent les journaux AD sans horodatage, et incluent les éléments suivants : Login failed for user 'x'. Reason: Token-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission. [CLIENT: 127.0.0.1]. Ces journaux sont filtrés, car ils peuvent prêter à confusion.
Les fichiers journaux sont difficiles à lire. Vous préférez afficher les journaux au format JSON ou texte. Pour télécharger les journaux, vous pouvez utiliser la commande gcloud logging read avec les commandes Linux de post-traitement.

Pour télécharger les journaux au format JSON, procédez comme suit :

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d" \
> downloaded-log.json
    

Pour télécharger les journaux au format TEXT, procédez comme suit :

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \
| .textPayload' \
--order=asc
> downloaded-log.txt