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
_Requiredet celles de la vue_Defaultsur 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
_Requiredet_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
-
Dans la console Google Cloud , accédez à la page Cloud Logging.
- Sélectionnez un projet Cloud SQL.
- 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.outcloudsql.googleapis.com/sqlserver.err
- Tous les niveaux de gravité : sélectionnez un niveau de gravité. Par exemple, sélectionnez
Errorpour afficher les journaux dont le niveau de gravité est d'au moinsError. - 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 :
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Accédez au volet Opérations et journaux pour afficher 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 :
Accédez à la page Services d'App Engine dans la console Google Cloud :
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 |