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

Ce document explique comment créer et gérer des étendues de journaux, que vous pouvez utiliser pour trouver efficacement les entrées de journal que vous souhaitez afficher ou analyser. Si vous souhaitez uniquement afficher et analyser les entrées de journaux provenant d'un projet, d'un dossier ou d'une organisation, ce document ne vous concerne pas. Toutefois, si vous vous appuyez sur des récepteurs de journaux pour acheminer les 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 journaux spécifiques.

Ce document n'explique pas comment afficher vos journaux. Pour en savoir plus, consultez 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. Ces ressources peuvent être des projets, des dossiers, des organisations et des vues des journaux. Par exemple, vous pouvez définir un champ d'application de journaux qui liste les projets contenant des ressources utilisées pour la production, ou un champ d'application qui liste les vues de journaux incluant des entrées de journal pour un type de ressource spécifique.

Lorsque vous créez une ressource de projet, de dossier ou d'organisation Trusted Cloud , Logging crée un champ d'application des journaux nommé _Default. Ce champ d'application inclut le projet, le dossier ou l'organisation créés. Lorsqu'une ressource recherchée est un projet, un dossier ou une organisation, les résultats incluent les entrées de journal qui proviennent de la ressource et qui sont ensuite stockées dans un bucket de journaux. Trusted Cloud Le bucket de journaux peut se trouver dans n'importe quel projet. 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 de journaux. Vous pouvez également modifier et supprimer les étendues de journaux que vous créez. Toutefois, vous ne pouvez pas modifier ni supprimer le champ d'application du journal nommé _Default.

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

Pour les projets, le champ d'application des journaux par défaut détermine l'ensemble des ressources que la page Explorateur de journaux recherche à son ouverture. Toutefois, vos rôles IAM (Identity and Access Management) sur les ressources recherchées et le paramètre de plage de dates déterminent les entrées de journaux 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.

Différences entre les portées de journaux et le stockage centralisé des journaux

Le stockage centralisé des journaux et les portées de journaux vous permettent de consulter les données de journaux provenant de différents projets.

Lorsque vous centralisez le stockage de vos journaux, vous configurez les récepteurs d'une organisation ou d'un dossier pour acheminer les entrées de journal vers un emplacement de stockage unique. Le stockage centralisé fournit un emplacement unique pour interroger les données de journaux, ce qui simplifie vos requêtes lorsque vous recherchez des tendances ou que vous étudiez des problèmes. Du point de vue de la sécurité, vous ne disposez que d'un seul emplacement de stockage, ce qui simplifie les tâches de vos analystes de sécurité.

Lorsqu'une requête est envoyée aux ressources listées dans un champ d'application de journaux, les résultats individuels de la requête sont combinés. Un champ d'application de journal facilite l'agrégation en temps réel des données de journaux qui peuvent être stockées à différents endroits. Toutefois, un champ d'application de journaux peut également être utilisé pour fournir un accès en lecture à une ou plusieurs vues de journaux sur un bucket de journaux centralisé.

Lorsque la page Explorateur de journaux s'ouvre, elle envoie des requêtes aux ressources listées dans le champ d'application des journaux par défaut. Par conséquent, configurez le champ d'application par défaut afin que la page affiche les données que vous souhaitez généralement consulter. Par exemple, vous pouvez définir le champ d'application du journal par défaut pour lister une vue de journal qui, lorsqu'elle est interrogée, renvoie les données de journal d'une application App Hub.

Bonnes pratiques

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

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

  1. Vous déterminez que les entrées de journaux que vous souhaitez afficher sont stockées dans plusieurs buckets de journaux et dans plusieurs projets. Pour la plupart des buckets de journaux, il existe une vue de journaux qui 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 un champ d'application des journaux, car vous vous attendez à devoir effectuer une tâche de dépannage similaire à l'avenir.

  3. Ouvrez la page Explorateur de journaux dans la console Trusted Cloud , puis utilisez le menu Affiner le champ d'application pour sélectionner votre nouveau champ d'application des 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 étiez en train d'étudier.

  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éé un champ d'application de journal qui vous permettra, à vous ou à la personne chargée d'enquêter sur l'échec, de trouver rapidement les entrées de journal pertinentes.

Applications App Hub et étendues des journaux

Vos applications App Hub peuvent écrire des données de journaux dans plusieurs projets. Vos données de journaux peuvent être stockées dans le projet dont elles proviennent, ou un administrateur de l'organisation peut avoir configuré un stockage centralisé. Pour afficher les données de journaux de votre application, créez un champ d'application des journaux, configurez-le pour qu'il liste les projets ou les vues de journaux qui stockent les données de journaux de votre application, puis configurez-le comme champ d'application des journaux par défaut. Une fois ces étapes effectuées, la page Explorateur de journaux affiche automatiquement les données écrites par votre application, même si elles sont stockées dans différents projets ou dans un bucket de journaux centralisé.

Créez le champ d'application de journal personnalisé dans le projet à partir duquel vous consulterez vos données de journaux. Il s'agit soit de votre projet hôte App Hub, soit du projet de gestion de votre dossier compatible avec les applications. Par exemple, si le nom à afficher du dossier est My Folder, celui du projet de gestion est My Folder-mp.

Limites

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

Avant de commencer

  • Pour obtenir les autorisations nécessaires pour créer et afficher des périmètres de journaux, demandez à votre administrateur de vous accorder le rôle IAM Rédacteur de configuration des journaux (roles/logging.configWriter) sur votre projet, dossier ou 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.

    Ce rôle prédéfini contient les autorisations requises pour créer et afficher des portées de journaux. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour créer et afficher des étendues de journaux :

    • Pour créer et gérer des portées de journaux : logging.logScopes.{create, delete, get, list, update}

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

Lister les champs d'application de journaux

gcloud

Pour répertorier les étendues de journaux dans un projet, utilisez 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 les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.

Pour obtenir les détails d'un champ d'application des journaux dans un projet, utilisez la commande gcloud logging scopes describe :

 gcloud logging scopes describe LOG_SCOPE_ID --project=PROJECT_ID

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

  • PROJECT_ID : identifiant du projet.
  • LOG_SCOPE_ID : ID du champ d'application du journal. Exemple :my-scope

Terraform

Vous pouvez utiliser Terraform pour créer et modifier un champ d'application des journaux. Toutefois, vous ne pouvez pas utiliser Terraform pour lister les champs d'application des journaux.

REST

L'API Cloud Logging contient des commandes qui listent les niveaux de journaux dans une ressource ou qui fournissent les détails d'un niveau 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 Trusted Cloud , utilisez les commandes suivantes :

Dans les commandes précédentes, le champ parent présente la syntaxe suivante :

projects/PROJECT_ID/locations/LOCATION_ID

Les champs de l'expression précédente ont la signification suivante :

  • PROJECT_ID : identifiant du projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOCATION_ID doit être défini sur global.

Créer un champ d'application de journal

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

gcloud

Pour créer un champ d'application des journaux dans un projet, utilisez la commande gcloud logging scopes create :

 gcloud logging scopes create LOG_SCOPE_ID --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. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOG_SCOPE_ID : ID du champ d'application 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 le champ d'application du journal, 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 un champ d'application des journaux 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 est l'ID de votre projet Trusted Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • Définissez locations sur "global".
  • name : défini sur le nom complet du champ d'application du journal. Pour les projets, le format de ce champ est le suivant :

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE_ID"
    

    Dans l'expression précédente, LOG_SCOPE_ID est le nom d'un champ d'application de journal, tel que "production".

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

  • description : brève description. Par exemple, "Portée 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 l'API.

Pour les projets Trusted Cloud , utilisez la commande suivante :

Dans les commandes précédentes, le champ parent présente la syntaxe suivante :

projects/PROJECT_ID/locations/LOCATION_ID

Les champs de l'expression précédente ont la signification suivante :

  • PROJECT_ID : identifiant du projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOCATION_ID doit être défini sur global.

Modifier ou supprimer un champ d'application de journal

gcloud

Pour modifier la description de la liste des ressources dans un champ d'application de journaux d'un projet, utilisez la commande gcloud logging scopes update :

 gcloud logging scopes update LOG_SCOPE_ID --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. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOG_SCOPE_ID : ID du champ d'application du journal. Exemple :my-scope
  • DESCRIPTION : description du champ d'application du journal. Mettez en forme la description sous forme de chaîne. Omettez ce champ lorsque vous ne souhaitez pas modifier la description du champ d'application du journal.

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

Pour supprimer un champ d'application des journaux dans un projet, utilisez la commande gcloud logging scopes delete :

 gcloud logging scopes delete LOG_SCOPE_ID --project=PROJECT_ID

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

  • PROJECT_ID : identifiant du projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOG_SCOPE_ID : ID du champ d'application 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 un champ d'application 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 un champ d'application de journal. Pour obtenir la liste complète des commandes, consultez la documentation de référence sur les API.

Pour les projets Trusted Cloud , utilisez les commandes suivantes :

Dans les commandes précédentes, le champ parent présente la syntaxe suivante :

projects/PROJECT_ID/locations/LOCATION_ID/logScopes/LOG_SCOPE_ID

Les champs de l'expression précédente ont la signification suivante :

  • PROJECT_ID : identifiant du projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  • LOCATION_ID doit être défini sur global.
  • LOG_SCOPE_ID : ID du champ d'application du journal. Exemple :my-scope

Étapes suivantes