Afficher les journaux d'instances

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

Cloud SQL utilise Cloud Logging. Consultez la documentation de Cloud Logging pour obtenir des informations complètes et accéder à des exemples de requêtes Cloud SQL.

Afficher les journaux

Vous pouvez afficher les requêtes SQL exécutées sur l'instance de base de données, y compris les requêtes SQL exécutées directement par des utilisateurs finaux, dans le fichier journal général en activant l'option general_log et en définissant l'option log_output sur FILE.

Pour afficher les journaux correspondant aux 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 existant en haut de la page.
  3. Dans le générateur de requêtes, ajoutez les éléments suivants :
    • Ressource : sélectionnez Base de données Cloud SQL. Dans la boîte de dialogue, sélectionnez une instance Cloud SQL.
    • Noms des journaux : faites défiler la page jusqu'à la section Cloud SQL et sélectionnez les fichiers journaux correspondant à votre instance. Par exemple :
      • cloudsql.googleapis.com/mysql-general.log
      • cloudsql.googleapis.com/mysql.err
    • Gravité : sélectionnez un niveau de journalisation.
    • Période : sélectionnez une valeur prédéfinie ou créez une période personnalisée.

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 Google Cloud Console, 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. Cliquez sur Opérations pour accéder au volet affichant 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 le client MySQL. Seules les opérations de gestion des utilisateurs et de modification du mot de passe effectuées à l'aide de la console Google Cloud, de l'outil de ligne de commande gcloud 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)

Sous Compute > App Engine > Services :

  • Dans la liste des services, recherchez votre service.
  • Cliquez sur le menu déroulant Outils.
  • Sélectionnez journaux.

Dans la section Opérations > Journalisation > Explorateur de journaux de Google Cloud Console, utilisez la requête suivante :

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

Cloud Run

Affichez les journaux dans la section Explorateur de journaux de Cloud Run dans Google Cloud Console. Notez que Cloud Run ne signale que les messages d'erreur du proxy d'authentification Cloud SQL. Utilisez une requête qui ressemble à ce qui suit :

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

Proxy d'authentification Cloud SQL

Sous Opérations > Journalisation > Explorateur de journaux, utilisez la requête suivante :

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

Consulter les journaux d'audit

Vous pouvez afficher les types de journaux d'audit suivants pour vos instances Cloud SQL:

  • Activité d'administration: inclut les opérations d'administration qui écrivent des métadonnées ou des informations de configuration. Vous ne pouvez pas désactiver ces journaux.
  • Accès aux données: inclut les opérations d'administration qui lisent les métadonnées ou les informations de configuration. Ces journaux incluent également les opérations de lecture ou d'écriture de données fournies par l'utilisateur. Pour recevoir les journaux d'audit pour l'accès aux données, vous devez les activer explicitement.
  • Événement système: identifiez les actions automatisées dans Google Cloud 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 pour les activités d'administration, l'accès aux données et les événements système, consultez Afficher les journaux.

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.

La journalisation consomme une grande quantité d'espace disque. Trois types de fichiers journaux utilisent l'espace disque : les journaux de rétablissement, les journaux généraux et les journaux binaires.

Connectez-vous à la base de données et exécutez les commandes suivantes pour en savoir plus sur chaque type :

SHOW VARIABLES LIKE 'innodb_log_file%';

SELECT ROUND(SUM(LENGTH(argument)/POW(1024,2),2)
AS GB from mysql.general_log;

SHOW BINARY LOGS;
    
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