Écrire et interroger des entrées de journal avec la gcloud CLI
Ce document présente quelques-unes des fonctionnalités de Cloud Logging et vous explique comment :
- écrire des entrées de journal à l'aide de la Google Cloud CLI.
- Lister les entrées de journal à l'aide de gcloud CLI
- répertorier les entrées de journal à l'aide de l'API Logging ;
- afficher et interroger des entrées de journal à l'aide de l'explorateur de journaux.
Avant de commencer
Pour pouvoir réaliser cet exercice de démarrage rapide, vous devez disposer d'un projet Google Cloud avec la facturation activée. Si vous n'avez pas de projet Google Cloud ou de facturation activée pour votre projet Google Cloud, puis procédez comme suit:- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Premiers pas
La gcloud CLI contient un groupe de commandes :
gcloud logging
, qui fournissent une interface de ligne de commande à l'API Cloud Logging.
Vous pouvez utiliser l'environnement Cloud Shell ou une machine virtuelle Compute Engine (VM) pour les commandes de gcloud CLI dans ce de ce guide de démarrage rapide. La gcloud CLI est préinstallée Cloud Shell.
Cloud Shell
Vérifiez que la gcloud CLI est configurée pour utiliser la bonne Projet Google Cloud:
Dans la console Google Cloud, cliquez sur terminal. Activez Cloud Shell.
Cloud Shell s'ouvre dans une fenêtre et affiche une bannière de bienvenue : Le message de bienvenue reflète l'ID du projet configuré.
Si vous souhaitez utiliser un projet Google Cloud différent de celui répertorié dans le message de bienvenue, exécutez la commande suivante après avoir remplacé PROJECT_ID par votre ID de projet :
gcloud config set project PROJECT_ID
Pour obtenir l'ID du projet, consultez Identifier des projets.
Instance de VM
Pour créer une instance de VM Compute Engine dans la console Google Cloud, procédez comme suit:
Dans la console Google Cloud, sélectionnez Compute Engine. Sélectionnez ensuite Instances de VM.
Sélectionnez Créer une instance.
Dans Identité et accès à l'API, sous Niveaux d'accès, sélectionnez Définissez l'accès pour chaque API.
Faites défiler les listes jusqu'à trouver l'API Stackdriver Logging. Basculez le niveau d'accès sur Complet.
Conservez les valeurs par défaut de tous les autres paramètres et cliquez sur Créer : L'instance de votre VM est prête à l'emploi.
Cliquez sur SSH pour vous connecter à l'interface système de votre instance de VM. Après un moment, un shell Debian GNU/Linux s'ouvre dans une fenêtre et affiche un message de bienvenue .
Exécutez la commande suivante pour vérifier que gcloud CLI est configurés pour votre projet Compute Engine:
gcloud config list
Si vous souhaitez utiliser un autre projet Google Cloud, exécutez la commande suivante après avoir remplacé PROJECT_ID par votre ID du projet:
gcloud config set project PROJECT_ID
Pour obtenir l'ID du projet, consultez la section Identifier des projets.
Écrire des entrées de journal à l'aide de la gcloud CLI
Logging accepte les entrées de journal avec des données structurées et non structurées. Les données structurées sont
constituées d'une structure de données JSON. Exemple :
{"weather": "partly cloudy"}
Les données non structurées sont une chaîne de caractères, par exemple "A simple entry"
.
Dans les étapes suivantes, vous utiliserez la gcloud CLI pour écrire une entrée de journal avec
des données non structurées et une entrée de journal avec des données structurées:
Écrivez une entrée de journal avec des données non structurées dans le journal
my-test-log
:gcloud logging write my-test-log "A simple entry."
Une fois l'exécution de la commande terminée, le message suivant s'affiche :
Created log entry
.Écrivez une entrée de journal avec des données non structurées dans le journal
my-test-log
:gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
Lorsque vous écrivez une entrée de journal avec des données structurées, vous devez inclure
--payload-type=json
. Si vous omettez ce champ, Logging interprète la charge utile comme des données non structurées.
Si le journal my-test-log
n'existe pas, Logging le crée lorsque l'entrée de journal est reçue.
Lister les entrées de journal à l'aide de la gcloud CLI
Vous pouvez récupérer des entrées de journal dans Logging et les afficher
à l'aide de la gcloud CLI. Par exemple, pour extraire et afficher les entrées de journal avec un type de ressource de global
, exécutez la commande suivante :
gcloud logging read "resource.type=global"
La commande renvoie un résultat semblable à celui-ci :
---
insertId: jpj9zjf73t1mn
jsonPayload:
message: My second entry
weather: partly cloudy
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
resource:
labels:
project_id: myloggingproject
type: global
timestamp: '2018-11-01T18:39:31.114507977Z'
---
insertId: vd4m1if7h7u1a
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
resource:
labels:
project_id: myloggingproject
type: global
textPayload: A simple entry
timestamp: '2018-11-01T18:39:19.718100792Z'
Répertorier les entrées de journal à l'aide de l'explorateur d'API
Pour exécuter les méthodes de l'API Logging sans écrire de code, consultez Utiliser APIs Explorer Pour lire la liste des entrées de journal de Logging, procédez comme suit :
Consultez la page traitant de la méthode d'API
entries.list
dans la documentation de référence de l'API :Configurez et exécutez la commande d'API :
Remplacez PROJECT_ID dans le texte suivant:
"resourceNames": [ "projects/PROJECT_ID" ], "filter": "resource.type=global", "orderBy": "timestamp desc"
Copiez le texte mis à jour à l'étape précédente et collez-le dans le champ Corps de la requête d'Apis Explorer.
Cliquez sur Exécuter.
La méthode renvoie une réponse semblable à la suivante :
{ "entries": [ { "textPayload": "A simple entry", "insertId": "vd4m1if7h7u1a", "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:19.718100792Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:19.718100792Z" }, { "insertId": "jpj9zjf73t1mn", "jsonPayload": { "message": "My second entry", "weather": "partly cloudy" }, "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:31.114507977Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:31.114507977Z" } ] }
Afficher les entrées de journal dans l'explorateur de journaux
Pour afficher les entrées de journal dans la console Google Cloud, vous pouvez utiliser l'explorateur de journaux. La plupart des projets Google Cloud stockent un grand nombre de journaux. vous pouvez sélectionner certaines entrées de journal en écrivant une requête.
Pour afficher les entrées de journal que vous avez écrites à l'aide de l'explorateur de journaux, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Assurez-vous que votre projet Google Cloud est sélectionné dans Google Cloud barre de navigation. Si nécessaire, utilisez la liste déroulante des projets Google Cloud. pour sélectionner votre projet Google Cloud.
Dans le menu Ressource, sélectionnez Global.
Si vous ne voyez pas l'option de menu Global ou si vous ne voyez pas vos entrées de journal, attendez quelques minutes et actualisez la page. Logging peut mettre quelques minutes avant de recevoir des entrées de journal.
Pour afficher les détails d'une entrée de journal, cliquez sur son chevron_right Menu.
Les données de la première entrée de journal sont stockées dans
textPayload
. La deuxième entrée de journal contient des données structurées stockées dansjsonPayload
. La la charge utile structurée contient les clésmessage
etweather
.
Pour en savoir plus sur le format de données des entrées de journal, consultez la
Type LogEntry
.
Interroger des entrées de journal dans l'explorateur de journaux
Vous pouvez interroger des entrées de journal à l'aide de l'éditeur de requête. Avec les journaux structurés,
par la clé et la valeur. Par exemple, pour afficher toutes les entrées de journal contenant le
envoyez par SMS simple
, procédez comme suit:
-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Dans le menu Ressource, sélectionnez Global.
Dans l'éditeur de requête, saisissez la chaîne
simple
entre guillemets. Seule l'entrée de journalA simple entry.
apparaît dans l'affichage de journaux.Après avoir consulté votre journal, supprimez la chaîne de requête que vous avez ajoutée et cliquez sur Exécuter la requête. Les deux entrées du journal réapparaissent à l'écran.
Afficher toutes les entrées de journal comportant des données structurées possédant une clé weather
où le champ value
contient partly
, procédez comme suit:
L'éditeur de requête contient la ligne
resource.type="global"
. Saisissez la commande suivante :jsonPayload.weather:partly
Cliquez sur Exécuter la requête. Le résultat est l'unique entrée de journal
My second entry
:
L'explorateur de journaux propose également des requêtes enregistrées, suggérées et récentes. Pour en savoir plus sur les requêtes, consultez la page Générer des requêtes dans l'explorateur de journaux.
Pour obtenir des exemples de requêtes, consultez la page Exemples de requêtes avec l'explorateur de journaux.
Dépannage
Les erreurs typographiques et les noms de champs inconnus génèrent le gcloud CLI se terminant par des messages d'argument non valide. Par exemple, si vous oubliez le point dans
resource.type
, alors il entraîne l'erreur:ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
Lorsque Cloud Logging n'a pas obtenu les autorisations d'accès nécessaires, les commandes de la CLI gcloud sont complétées par les messages d'autorisation refusée. Par exemple, si une VM Compute Engine est configurée avec les paramètres d'API par défaut, la classe
list
se termine avec une erreur d'autorisation refusée:ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
Pour résoudre ce problème, modifiez votre instance de VM Compute Engine pour accorder des autorisations de lecture à Cloud Logging suivantes:
- Accédez à la page Informations sur l'instance de VM correspondant à votre instance de VM. Cliquez sur Arrêter. Cette action peut prendre une minute ou deux.
- Pour modifier la configuration, cliquez sur Modifier.
- Recherchez l'en-tête Niveaux d'accès aux API Cloud, puis cliquez sur Détails pour afficher les paramètres de chaque API. Passez l'entrée de l'API Cloud Logging sur Complet. Cliquez sur Enregistrer.
- Pour redémarrer votre instance de VM, cliquez sur Démarrer. Après quelques instants, votre VM est prête à être utilisée.
Lorsque l'explorateur d'API ne peut pas terminer votre commande ou nécessite une autorisation supplémentaire, il affiche un message ou un code d'erreur :
- Code de réponse 200 et aucune entrée: si le message
nextPageToken
est cela indique que APIs Explorer n'a pas eu le temps de pour terminer la recherche. Ajoutez unpageToken
à votre requête, définissez la valeur à l'identique de celle indiquée avec la clénextPageToken
, puis réessayez d'exécuter la commande. - Code de réponse 400 : la valeur de la requête n'est pas valide. Par exemple, si vous
mal orthographier
global
commegloobal
, le message estUnsupported resource type: gloobal
- Code de réponse 404 : l'ID de projet n'est pas valide. Vérifiez l'orthographe de votre identifiant de projet.
- Vous serez peut-être invité à vous connecter à votre Google Cloud et autorisez APIs Explorer à accéder à votre compte.
- Code de réponse 200 et aucune entrée: si le message
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
(Facultatif) Pour supprimer les entrées de journal que vous avez créées, exécutez la commande
gcloud
suivante :gcloud logging logs delete my-test-log
Si vous ne les supprimez pas, elles expirent et sont supprimées. Pour obtenir des informations sur la conservation des entrées, consultez la page Quotas et limites.
Étape suivante
- Pour en savoir plus sur l'interface de ligne de commande de Logging, consultez les pages de référence du groupe de commandes
gcloud logging
. - Pour vous documenter sur l'API Logging, consultez l'article API Cloud Logging.
- Pour en savoir plus sur l'explorateur de journaux, consultez Utiliser l'explorateur de journaux
- Pour savoir comment collecter des entrées de journal à partir de vos instances de VM dans Logging, consultez la page Agents d'observabilité Google Cloud.