Démarrage rapide avec le SDK Cloud.

Ce guide de démarrage rapide présente certaines des fonctionnalités de Stackdriver Logging et vous explique comment :

  • écrire des entrées de journal en utilisant le SDK Cloud ;
  • afficher et filtrer les entrées de journal à l'aide de la visionneuse de journaux ;
  • répertorier les entrées du journal à l'aide du SDK Cloud ;
  • répertorier les entrées de journal à l'aide de l'API Logging.

Avant de commencer

Vous devez avoir un projet Google Cloud Platform avec la facturation activée pour effectuer ce démarrage rapide. Si vous n'avez pas de projet GCP ou si la facturation n'est pas activée pour votre projet, procédez comme suit :
  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans la page de sélection du projet de la console GCP, sélectionnez ou créez un projet GCP.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform. Découvrez comment confirmer que la facturation est activée pour votre projet.

Premiers pas

Pour passer les commandes SDK Cloud de ce guide de démarrage rapide, utilisez l'environnement Cloud Shell ou une instance de VM Compute Engine.

Cloud Shell

  1. Le SDK Cloud est pré-installé dans l'environnement Cloud Shell. Vous n'avez pas besoin d'installer ni de configurer un autre logiciel.

  2. Ouvrez Cloud Shell et vérifiez la configuration de votre projet :

    1. Dans la console GCP, cliquez sur le bouton Activer Cloud Shell dans l'angle supérieur droit :

      Activer Cloud Shell

      Cloud Shell s'ouvre dans une fenêtre et affiche une bannière de bienvenue :

      Bienvenue dans Cloud Shell !

    2. Le message de bienvenue reflète l'ID du projet configuré. S'il ne s'agit pas du projet que vous souhaitez utiliser, exécutez la commande suivante en remplaçant [PROJECT_ID] par votre ID de projet :

       gcloud config set project [PROJECT_ID]
      

Instance de VM

  1. Créez une instance de VM Compute Engine.

    1. Dans la console GCP, sélectionnez Compute Engine > Instances de VM. Sélectionnez Create (Créer). Si vous voyez le message ci-dessous, attendez que Compute Engine soit prêt :

      Préparation à Compute

    2. Dans le volet Identity and API access (Identité et accès à l'API), sélectionnez Set access for each API (Définir l'accès pour chaque API). Faites défiler les listes du nouveau volet jusqu'à ce que vous trouviez l'API Stackdriver Logging. Changez l'accès de Écriture à Accès complet :

      Préparation à Compute

    3. Laissez tous les autres paramètres à leurs valeurs par défaut et cliquez sur Create (Créer). Après un moment, votre instance de VM est prête à être utilisée.

  2. Pour vous connecter à l'interface d'instance de votre VM, accédez à SSH > Ouvrir dans la fenêtre du navigateur. Après un moment, une interface Debian GNU/Linux s'ouvre dans une fenêtre et affiche un message de bienvenue.

  3. Le SDK Cloud est pré-installé dans votre instance de VM GCM. Vérifiez que votre SDK Cloud est configuré pour votre projet Compute Engine :

     gcloud config list
    
  4. Si le projet affiché n'est pas celui que vous souhaitez utiliser, exécutez la commande suivante après avoir remplacé [PROJECT_ID] par votre ID de projet :

     gcloud config set project [PROJECT_ID]
    

Écrire des entrées de journal à l'aide du SDK Cloud

Logging accepte les entrées de journal avec des données structurées et non structurées. Les données structurées consistent en une structure de données JSON ; par 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 utilisez le kit de développement SDK Cloud 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 :

  1. É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 la commande terminée, le message suivant apparaît : Created log entry.

  2. Écrivez une entrée de journal avec des données structurées dans my-test-log :

    gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
    

    Lors de l'écriture d'une entrée de journal avec des données structurées, vous devez inclure --payload-type=json. Si vous omettez ce champ, la charge utile est interprétée comme du texte non structuré.

Si le journal my-test-log n'existe pas, Logging crée le journal à réception de l'entrée de journal.

Afficher les journaux dans la visionneuse de journaux

La visionneuse de journaux est un outil permettant d'afficher, de filtrer et de télécharger les entrées de journal :

  1. Accédez à la page de la visionneuse de journaux dans la console Google Cloud Platform.

    Accéder à la page de la visionneuse de journaux

    La page de la visionneuse de journaux s'affiche :

    Visionneuse de journaux

    Vérifiez la barre de navigation de Google Cloud Platform et assurez-vous que votre projet est sélectionné. Utilisez la liste déroulante du projet pour sélectionner votre projet si nécessaire.

  2. Dans la liste déroulante "Type de ressource", sélectionnez Global pour afficher les entrées de journal que vous avez écrites :

    Visionneuse de journaux – Affichage 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.

  3. Pour développer une entrée de journal, cliquez sur son bouton Divulgation (arrow_right).

    Visionneuse de journaux

    Les données de la première entrée du journal sont stockées dans une charge utile textPayload. La deuxième entrée du journal contient des données structurées stockées dans une charge utile jsonPayload. La charge utile structurée contient les clés message et weather.

Pour plus d'informations sur les formats de données d'entrées de journal, consultez la section relative aux types de données communs à tous les journaux.

Filtrer les entrées de journal

Vous pouvez filtrer les entrées de journal à l'aide d'un champ de texte et de journaux structurés, en fonction de la clé et de la valeur. Par exemple, pour afficher toutes les entrées de journal contenant le texte simple :

  1. Dans la zone de filtre au-dessus du sélecteur de journaux, entrez la chaîne simple. La page des journaux n'affiche que l'entrée du journal A simple entry.

  2. Après avoir consulté votre journal, supprimez la chaîne de filtre que vous avez ajoutée et cliquez sur le bouton Actualiser (refresh) au-dessus du sélecteur de journaux. Les deux entrées du journal réapparaissent à l'écran.

Pour afficher toutes les entrées de journal avec des données structurées ayant une clé weather où le champ value contient partly :

  1. Passez en mode de filtrage avancé en cliquant sur le bouton Divulgation (arrow_drop_down) situé à l'extrême droite de la zone de filtrage, puis en sélectionnant Convertir en filtre avancé.
  2. La boîte de dialogue de filtre contient resource.type="global". Sous cette ligne, entrez :

    jsonPayload.weather:partly
    
  3. Cliquez sur Submit Filter (Envoyer le filtre). Le résultat est l'entrée unique du journal My second entry :

    Filtre avancé pour les entrées de journal

Pour plus d'informations sur les filtres, consultez Filtres de journaux avancés.

Répertorier les entrées du journal à l'aide du SDK Cloud

Vous pouvez récupérer des entrées de journal à partir de Logging et les afficher à l'aide du SDK Cloud. Par exemple, pour récupérer et afficher les entrées de journal avec un type de ressource 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 du journal à l'aide de l'explorateur d'API

Vous pouvez utiliser l'explorateur d'API pour exécuter les méthodes de l'API Logging sans écrire de code. Pour lire une liste d'entrées de journal dans Logging :

  1. Accédez à la page de référence de l'API pour la méthode API entries.list :

    Accéder à la page de l'API entries.list

  2. Le widget Explorateur d'API est attaché à droite ou au bas de la page. Il contient un en-tête Try this API (Essayer cette API). Copiez le texte suivant et collez-le dans le champ Request body (Corps de la requête). Avant de cliquer sur Execute (Exécuter), remplacez le PROJECT_ID.

      "resourceNames": [
        "projects/[PROJECT_ID]"
      ],
      "filter": "resource.type=global"
    

    Un exemple de corps de requête complété avec ces paramètres est présenté ci-dessous :

    Essayer cette API

  3. Cliquez sur Execute (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"
        }
      ]
    }
    

Dépannage

  • Les erreurs typographiques et les noms de champs inconnus donnent lieu à des commandes SDK Cloud complétées par des messages d'argument non valides. Par exemple, si vous oubliez le point dans le resource.type, l'erreur suivante se produit :

     ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
    
  • Lorsque Stackdriver Logging ne dispose pas des autorisations d'accès nécessaires, les commandes SDK Cloud se terminent par un message d'accès refusé. Par exemple, si une instance de VM Compute Engine est configurée avec les paramètres de l'API Cloud par défaut, la commande 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 les autorisations d'instance de VM Compute Engine pour accorder l'autorisation de lecture à Stackdriver Logging :

    1. 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.
    2. Pour modifier la configuration, cliquez sur Modifier.
    3. 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 Stackdriver Logging sur Complet. Cliquez sur Enregistrer.
    4. 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 affiché, cela signifie que l'explorateur d'API n'a pas eu le temps de terminer la recherche. Ajoutez un pageToken à votre requête, définissez la valeur à l'identique de celle indiquée avec la clé nextPageToken, puis réessayez la commande.
    • Code de réponse 400 : la valeur du filtre n'est pas valide. Par exemple, si vous orthographiez gloobal au lieu de global, le message est Unsupported 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 compte Google pour permettre à l'explorateur d'API d'accéder à votre compte.

Effectuer un nettoyage

Afin d'éviter que des frais ne soient facturés sur votre compte GCP pour les ressources utilisées dans ce démarrage rapide, procédez comme suit :

  1. (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 expireront et seront supprimées. Reportez-vous aux règles relatives aux quotas.

Étape suivante

  • Pour plus d'informations sur la visionneuse de journaux, consultez la page relative à la visionneuse de journaux.
  • Reportez-vous à la section Exportation de journaux pour savoir comment exporter vos entrées de journal vers Cloud Storage, BigQuery et Cloud Pub/Sub.
  • Pour savoir comment collecter des entrées de journal à partir de vos instances de machine virtuelle dans Stackdriver Logging, consultez la page Agent Logging.
  • Consultez la page Journaux d'audit pour connaître vos besoins en matière d'audit et de conformité.
  • Pour savoir comment lire, écrire et configurer des journaux à partir de vos applications, consultez la page API Stackdriver Logging.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation de Stackdriver Logging