Créer et gérer des portées de journaux

Ce document explique comment créer et gérer des champs d'application de journal, qui vous permettent de trouver efficacement les entrées de journal que vous souhaitez afficher ou analyser. Si vous souhaitez uniquement afficher et analyser les entrées de journal provenant d'un projet, d'un dossier ou d'une organisation, ce document n'est pas fait pour vous. Toutefois, si vous utilisez des récepteurs de journaux pour acheminer des journaux vers d'autres projets ou vers des buckets de journaux définis par l'utilisateur, ou si vous utilisez des vues de journaux, les informations de ce document peuvent vous aider à trouver efficacement des entrées de journal spécifiques.

Ce document n'explique pas comment afficher vos journaux. Pour en savoir plus sur ce sujet, consultez la section Afficher les journaux à l'aide de l'explorateur de journaux.

À propos des champs d'application des journaux

Les champs d'application des journaux sont des ressources persistantes au niveau du projet qui listent un ensemble de ressources. Il peut s'agir de projets, de dossiers, d'organisations et de vues de journaux. Par exemple, vous pouvez définir un champ d'action de journaux qui liste les projets contenant des ressources utilisées pour la production ou qui liste les vues de journaux qui incluent des entrées de journal pour un type de ressource spécifique.

Lorsque vous créez un projet, un dossier ou une ressource d'organisation Google Cloud, la journalisation crée un champ d'application des journaux nommé _Default. Ce champ d'application inclut le projet, le dossier ou l'organisation créés. Lorsque la ressource recherchée est un projet, un dossier ou une organisation Google Cloud, les résultats incluent les entrées de journal provenant de la ressource, puis stockées dans un bucket de journaux. Lorsqu'un projet est recherché, les résultats incluent également les entrées de journal qui sont acheminées vers le projet par un récepteur dans un autre projet, puis stockées dans un bucket de journaux.

Vous pouvez créer des champs d'application des journaux. Vous pouvez également modifier et supprimer les portées de journal que vous créez. Toutefois, vous ne pouvez pas modifier ni supprimer le champ d'application des journaux nommé _Default.

Vous utilisez un champ d'action des journaux pour contrôler les ressources pour lesquelles la page Explorateur de journaux recherche des données de journal. Lorsque vous ouvrez cette page et sélectionnez un champ d'application de journal, la page recherche les ressources listées dans ce champ d'application, puis actualise l'affichage.

Vous pouvez également utiliser une portée de journal pour contrôler les ressources pour lesquelles un panneau de journaux recherche des données de journal. Un panneau de journaux est un widget de tableau de bord personnalisé qui affiche les données de journal. Chaque panneau de journaux a sa propre configuration, ce qui vous permet de créer un tableau de bord contenant plusieurs panneaux de journaux, chacun affichant des données de journal différentes. Pour en savoir plus, consultez la section Afficher les journaux et les erreurs dans un tableau de bord personnalisé.

Pour les projets, le champ d'application des journaux par défaut détermine l'ensemble de ressources que la page Explorateur de journaux recherche lors de son ouverture. Toutefois, vos rôles IAM (Identity and Access Management) sur les ressources recherchées et le paramètre de période déterminent les entrées de journal extraites du stockage. Lorsque des projets sont créés, le champ d'application des journaux nommé _Default est désigné comme champ d'application des journaux par défaut. Vous pouvez définir le champ d'action des journaux par défaut.

Bonnes pratiques

Étant donné que les portées de journalisation vous permettent de définir et d'enregistrer une configuration pour une utilisation ultérieure, nous vous recommandons de créer des portées de journalisation pour les configurations de recherche complexes.

Par exemple, supposons que vous résolvez un problème et que vous souhaitiez afficher les entrées de journal de toutes les instances de machine virtuelle (VM) appartenant à votre équipe. Pour ce faire, vous pouvez procéder comme suit:

  1. Vous déterminez que les entrées de journal que vous souhaitez afficher sont stockées dans plusieurs buckets de journaux et dans plusieurs projets. Pour la plupart des buckets de journaux, une vue de journal existe et inclut les entrées de journal que vous souhaitez analyser. Si aucune vue de journal n'existe, vous pouvez en créer une.

  2. Vous décidez de créer une portée de journalisation, car vous prévoyez d'avoir une tâche de dépannage similaire à l'avenir.

  3. Vous ouvrez la page Explorateur de journaux dans la console Google Cloud, puis utilisez le menu Affiner la portée pour sélectionner votre nouvelle portée de journaux.

  4. Vous examinez les entrées de journal et trouvez les informations dont vous avez besoin pour résoudre le problème que vous examiniez.

  5. Une fois le problème résolu, vous partagez la cause de l'échec avec vos collègues. Vous indiquez également que vous vous attendez à voir des échecs similaires à l'avenir. Vous avez donc créé une portée de journal qui vous permettra, ou à toute personne qui enquête sur l'échec, de trouver rapidement les entrées de journal pertinentes.

Limites

  • Vous ne pouvez pas supprimer ni modifier le champ d'application de journal nommé _Default.
  • Seuls les projets Google Cloud sont compatibles avec un champ d'application de journal par défaut.
  • Vous ne pouvez pas ajouter de dossiers ni d'organisations à une portée de journal définie par l'utilisateur.
  • Les portées de journalisation sont créées dans l'emplacement global.

Avant de commencer

  • Pour obtenir les autorisations nécessaires pour créer et afficher des portées de journalisation, et pour définir la portée de journalisation par défaut, demandez à votre administrateur de vous accorder les rôles IAM suivants:

    • Pour créer et afficher des champs d'action de journaux, ou pour obtenir le champ d'action des journaux par défaut : Rédacteur de configuration des journaux (roles/logging.configWriter) sur votre projet, votre dossier ou votre organisation
    • Pour définir le champ d'application des journaux par défaut : Éditeur d'observabilité (roles/observability.editor) sur votre projet, votre dossier ou votre organisation

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

    Ces rôles prédéfinis contiennent les autorisations requises pour créer et afficher des portées de journalisation, et pour définir la portée de journalisation par défaut. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Vous devez disposer des autorisations suivantes pour créer et afficher des portées de journalisation, et pour définir la portée de journalisation par défaut:

    • Pour obtenir et définir le champ d'action des journaux par défaut : observability.scopes.{get, update}

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

  • Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    Terraform

    Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Lister les champs d'application de journaux

Console

Pour lister les portées de journalisation, procédez comme suit:

  1. Accédez à la page  Paramètres dans la console Google Cloud.

    Accéder aux paramètres

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez l'onglet Champ d'application des journaux.

    Le tableau liste vos champs d'application des journaux. Lorsque vous avez sélectionné un projet Google Cloud, une entrée du tableau s'affiche avec une icône "Par défaut", , qui indique que ce champ d'action des journaux liste les ressources recherchées par l'explorateur de journaux lorsque cette page est ouverte.

gcloud

Pour répertorier les portées de journalisation d'un projet, exécutez la commande gcloud logging scopes list:

 gcloud logging scopes list --project=PROJECT_ID

Avant d'exécuter la commande, mettez à jour les champs suivants:

  • PROJECT_ID: identifiant du projet.

Pour obtenir les détails d'une portée de journal dans un projet, utilisez la commande gcloud logging scopes describe:

 gcloud logging scopes describe LOG_SCOPE --project=PROJECT_ID

Avant d'exécuter la commande, mettez à jour les champs suivants:

  • PROJECT_ID: identifiant du projet.
  • LOG_SCOPE: nom de la portée du journal. Exemple :my-scope

Terraform

Vous pouvez utiliser Terraform pour créer et modifier une portée de journal. Toutefois, vous ne pouvez pas utiliser Terraform pour lister les champs d'application des journaux.

REST

L'API Cloud Logging contient des commandes qui répertorient les portées de journal dans une ressource ou qui indiquent les détails d'une portée de journal spécifique. Pour obtenir la liste complète des commandes, consultez la documentation de référence sur les API.

Pour les projets Google Cloud, utilisez les commandes suivantes:

Dans la commande de l'API, définissez le champ locations sur global.

Définir le champ d'action des journaux par défaut

Le champ d'action des journaux par défaut liste les ressources recherchées par la page Explorateur de journaux lorsqu'elle s'ouvre. Si un champ d'action des journaux par défaut n'existe pas ou n'est pas accessible, cette page recherche automatiquement les entrées de journal provenant du projet, du dossier ou de l'organisation sélectionnés. Les entrées de journal affichées par la page Explorateur de journaux dépendent des ressources recherchées, du paramètre de période et de vos rôles IAM sur les ressources recherchées.

Lorsque des projets sont créés, le champ d'application des journaux nommé _Default est créé et désigné comme champ d'application des journaux par défaut. Toutefois, vous pouvez créer votre propre champ d'action des journaux et le désigner comme champ d'action des journaux par défaut.

Console

Pour définir la portée des journaux par défaut, procédez comme suit:

  1. Accédez à la page  Paramètres dans la console Google Cloud.

    Accéder aux paramètres

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez l'onglet Champ d'application des journaux.
  3. Recherchez la portée de journal que vous souhaitez désigner comme portée de journal par défaut, cliquez sur  Plus, puis sélectionnez Définir comme valeur par défaut.

    Le champ d'action des journaux que vous avez sélectionné est associé à l'icône "Par défaut", .

gcloud

Non compatible

Terraform

Vous pouvez utiliser Terraform pour créer et modifier une portée de journal. Toutefois, vous ne pouvez pas utiliser Terraform pour définir le champ d'action des journaux par défaut.

REST

Non compatible

Créer un champ d'application de journal

Vous pouvez créer 100 champs d'application des journaux par projet. Un champ d'application des journaux peut inclure un total de 100 vues de journal et de projets. Toutefois, il ne peut inclure que cinq projets. Vous ne pouvez pas ajouter de dossiers ni d'organisations à une portée de journal.

Console

Pour créer un champ d'application des journaux, procédez comme suit:

  1. Accédez à la page  Paramètres dans la console Google Cloud.

    Accéder aux paramètres

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez l'onglet Champs d'application des journaux, puis cliquez sur Créer un champ d'application des journaux.
  3. Pour ajouter un ou plusieurs projets, cliquez sur Ajouter des projets, puis renseignez la boîte de dialogue.

    Une fois que vous avez ajouté un projet, vos rôles IAM sur ce projet déterminent les entrées de journal que vous pouvez afficher. Par exemple, votre rôle IAM peut vous permettre d'afficher uniquement les entrées de journal accessibles via une vue de journal spécifique sur un bucket de journaux. Pour en savoir plus sur les rôles, consultez la section Rôles de journalisation.

  4. Pour ajouter une ou plusieurs vues de journaux, cliquez sur Ajouter des vues de journaux, puis remplissez la boîte de dialogue.

    La boîte de dialogue liste toutes les vues de journaux contenant des entrées de journal provenant du projet en cours ou acheminées vers le projet en cours par un collecteur dans un autre projet. Par exemple, si vous n'avez configuré aucun récepteur, cette boîte de dialogue liste les vues de journaux de votre projet actuel.

    Pour afficher les vues de journaux stockées dans un autre projet Google Cloud, cliquez sur  Importer un projet, puis sélectionnez le projet Google Cloud.

    Une fois que vous avez ajouté une vue de journal, vos rôles IAM dans la vue de journal ou dans le projet qui la stocke déterminent les entrées de journal auxquelles vous pouvez accéder. Pour en savoir plus, consultez la page Contrôler l'accès à une vue de journal.

  5. Dans la section Nommer la portée des journaux, saisissez le nom et la description que vous souhaitez afficher dans l'onglet Portées des journaux.

    Le nom d'un champ d'application de journal ne peut pas être modifié et doit être unique dans le projet.

  6. Cliquez sur Créer une portée de journalisation.

gcloud

Pour créer une portée de journal dans un projet, exécutez la commande gcloud logging scopes create:

 gcloud logging scopes create LOG_SCOPE --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Avant d'exécuter la commande, mettez à jour les champs suivants:

  • PROJECT_ID: identifiant du projet.
  • LOG_SCOPE: nom de la portée du journal. Exemple :my-scope

  • DESCRIPTION : facultatif. Description du champ d'application du journal. Mettez en forme la description sous forme de chaîne.

  • RESOURCE_NAMES: liste des noms complets des projets ou des vues de journaux, séparés par une virgule. Par exemple, pour inclure my-project dans la portée des journaux, spécifiez projects/my-project.

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

Pour créer une portée de journal dans un projet, un dossier ou une organisation à l'aide de Terraform, utilisez la ressource Terraform google_logging_log_scope.

Dans la commande, définissez les champs suivants:

  • parent: nom complet de votre projet, dossier ou organisation. Par exemple, vous pouvez définir ce champ sur "projects/PROJECT_ID", où PROJECT_ID correspond à l'ID de votre projet Google Cloud.
  • Définissez locations sur "global".
  • name: défini sur le nom complet de la portée du journal. Pour les projets, le format de ce champ est le suivant:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE"
    

    Dans l'expression précédente, LOG_SCOPE correspond au nom d'un champ d'application des journaux, tel que "production".

  • resource_names: tableau de projets et de vues de journaux, où chaque projet et chaque vue de journal est spécifié à l'aide de son nom complet.

  • description: brève description Par exemple, "Champ d'application des ressources de production".

REST

L'API Cloud Logging permet également de créer des portées de journaux dans un dossier ou une organisation. Pour en savoir plus, consultez la documentation de référence sur les API.

Pour les projets Google Cloud, utilisez la commande suivante:

Dans la commande de l'API, définissez le champ locations sur global.

Modifier ou supprimer une portée de journal

Console

Pour modifier ou supprimer une portée de journal que vous ou un collègue avez créée, procédez comme suit:

  1. Accédez à la page  Paramètres dans la console Google Cloud.

    Accéder aux paramètres

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez l'onglet Champ d'application des journaux.
  3. Recherchez les champs d'application des journaux que vous souhaitez modifier ou supprimer, cliquez sur  Plus, puis effectuez l'une des actions suivantes:

    • Pour le modifier, sélectionnez Modifier le champ d'application, puis remplissez la boîte de dialogue.
    • Pour supprimer la portée, sélectionnez Delete scope (Supprimer la portée), puis remplissez la boîte de dialogue.

gcloud

Pour modifier la description de la liste des ressources dans une portée de journal d'un projet, utilisez la commande gcloud logging scopes update:

 gcloud logging scopes update LOG_SCOPE --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Avant d'exécuter la commande, mettez à jour les champs suivants:

  • PROJECT_ID: identifiant du projet.
  • LOG_SCOPE: nom de la portée du journal. Exemple :my-scope

  • DESCRIPTION: description de la portée du journal. Mettez en forme la description sous forme de chaîne. Omettre ce champ lorsque vous ne souhaitez pas modifier la description de la portée des journaux

  • RESOURCE_NAMES: liste des noms complets des projets ou des vues de journaux, séparés par une virgule. Omettre ce champ lorsque vous ne souhaitez pas modifier la liste des ressources

Pour supprimer une portée de journal dans un projet, utilisez la commande gcloud logging scopes delete:

 gcloud logging scopes delete LOG_SCOPE --project=PROJECT_ID

Avant d'exécuter la commande, mettez à jour les champs suivants:

  • PROJECT_ID: identifiant du projet.
  • LOG_SCOPE: nom de la portée du journal. Exemple :my-scope

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

Pour modifier la portée des journaux dans un projet, un dossier ou une organisation à l'aide de Terraform, utilisez la ressource Terraform google_logging_log_scope.

REST

L'API Cloud Logging contient des commandes permettant de modifier ou de supprimer une portée de journal. Pour obtenir la liste complète des commandes, consultez la documentation de référence sur les API.

Pour les projets Google Cloud, utilisez les commandes suivantes:

Dans la commande de l'API, définissez le champ locations sur global.

Étape suivante