Ce document explique comment créer des graphiques ou afficher des données de journaux lorsque ces données sont stockées dans plusieurs projets. Par défaut, seules les données provenant d'un projet sont disponibles pour les outils de visualisation. Toutefois, si vous configurez un champ d'application, les outils de visualisation et d'analyse peuvent interroger les données stockées dans plusieurs projets.
Si vous souhaitez uniquement surveiller ou afficher les données stockées dans un projetGoogle Cloud , vous n'avez aucune configuration à effectuer.
Les champs d'application fournissent une agrégation au moment de la lecture
Les champs d'application permettent aux outils de visualisation et d'analyse d'effectuer une agrégation en temps de lecture des données stockées dans plusieurs emplacements. Les champs d'application ne contrôlent pas l'emplacement de stockage des données. Les moteurs de requête s'appuient plutôt sur des champs d'application pour déterminer où rechercher des données.
Les données de métriques et de traces sont toujours stockées dans le projet Google Cloud d'où elles proviennent. Pour afficher les données de métriques stockées dans plusieurs projets sur un seul graphique, configurez un champ d'application des métriques pour lister ces projets. Une fois ce champ d'application configuré, lorsque vous créez un graphique ou une règle d'alerte, la requête émise par ces services renvoie automatiquement les données de métriques des projets listés. Le comportement est similaire pour les données de trace.
Par défaut, les données de journaux sont stockées dans le projet, le compte de facturation, le dossier ou l'organisation Google Cloud d'où proviennent les données. Toutefois, vous pouvez configurer Logging pour acheminer les données de journal de la ressource d'origine vers un autre emplacement, tel qu'un autre projet ou un bucket de journaux centralisé.
Dans tous les cas, configurez un champ d'application de journal personnalisé. Nous vous recommandons de lister des vues de journaux plutôt que des projets dans votre champ d'action de journaux. Une vue de journaux fournit un accès en lecture à un sous-ensemble d'entrées de journal dans un bucket de journaux.
Par exemple, si vous avez des données de journaux stockées dans trois projets, vous pouvez configurer la vue de journaux pour inclure la vue _Default/_AllLogs de chacun de ces projets.
Utilisation des champs d'application par Google Cloud Observability
Les outils d'analyse et de visualisation de Google Cloud Observability s'appuient sur des champs d'application spécifiques au type de données pour déterminer les ressources à interroger pour les données que l'outil doit afficher ou analyser.
Exemples :
- Lorsque la page Explorateur de journaux s'ouvre, le système interroge les ressources répertoriées dans le champ d'action des journaux par défaut pour obtenir des données de journal. Une fois cette page ouverte, vous pouvez utiliser une option de la barre d'outils pour interroger les ressources d'un autre champ d'application.
- Lorsque la page Explorateur Trace s'ouvre, le système interroge les projets listés dans le champ d'application de trace par défaut pour obtenir des données de trace. Une fois cette page ouverte, vous pouvez utiliser une option de la barre d'outils pour interroger les ressources d'un autre champ d'application.
- Lorsque vous créez une règle d'alerte, Monitoring interroge les projets listés dans le champ d'application des métriques pour obtenir des données de métriques. Il analyse ensuite la réponse à la requête et détermine s'il faut créer une alerte.
- Lorsque vous créez un graphique à l'aide de la page Explorateur de métriques, vous spécifiez une métrique à représenter graphiquement. Monitoring interroge les projets listés dans le champ d'application des métriques pour obtenir des données de métriques, puis affiche les résultats de la requête.
Logging et Trace vérifient vos rôles IAM (Identity and Access Management) sur une ressource avant qu'une requête ne renvoie des données. Par exemple, si un champ d'application de journal spécifie un projet pour lequel vous n'avez pas reçu l'autorisation de lire les données de journal, une requête adressée à ce projet ne renvoie pas de données.
Monitoring vérifie votre rôle IAM sur le projet à partir duquel la requête est émise. Supposons que le champ d'application des métriques d'un projet nommé AllEnv liste les projets suivants : AllEnv, Prod et Staging. Supposons également que vous disposez du rôle "Lecteur Monitoring" sur le projet AllEnv. Les graphiques que vous créez avec la page Explorateur de métriques lorsque vous utilisez le projet AllEnv affichent automatiquement les données de métriques pour les trois projets.
Champs d'application de Google Cloud Observability
Cette section décrit les champs d'application utilisés par Google Cloud Observability.
Périmètre d'observabilité
Le champ d'application de l'observabilité spécifie le champ d'application des journaux par défaut et le champ d'application de Trace par défaut. Les pages telles que l'explorateur de journaux et l'explorateur de traces utilisent les champs d'application par défaut pour déterminer les ressources à interroger à l'ouverture de la page. Par exemple, supposons que vous disposiez d'une application qui génère des données de trace dans trois projets. Vous pouvez configurer la page Explorateur Trace pour interroger automatiquement ces trois projets en définissant le champ d'application de trace par défaut.
Si vous ne configurez pas le champ d'application de l'observabilité, les événements suivants se produisent :
- La page Explorateur de journaux interroge votre projet pour obtenir des données de journal.
- La page Explorateur Trace interroge votre projet pour obtenir des données de trace.
Le champ d'application de l'observabilité ne s'applique pas aux données de métriques.
Quand configurer le champ d'application de l'observabilité ?
Configurez le champ d'application de l'observabilité dans les scénarios suivants :
Vous créez un champ d'application de journal personnalisé et vous souhaitez que les ressources listées dans ce champ d'application soient interrogées par défaut.
Vous créez un champ d'application de trace personnalisé et vous souhaitez que les projets listés dans ce champ d'application soient interrogés par défaut.
Limites associées aux champs d'application d'observabilité
| Description | Valeur maximale |
|---|---|
| Nombre de champs d'application d'observabilité par projet | 1 |
Champs d'application de journaux
Les champs d'application des journaux sont utilisés par la page Explorateur de journaux et par les tableaux de bord qui affichent les données des journaux :
Lorsque la page Explorateur de journaux s'ouvre, le système interroge automatiquement les ressources listées dans le champ d'action des journaux par défaut pour obtenir des données de journaux. Cette page fournit également des commandes qui vous permettent de basculer entre les champs d'application.
Pour les tableaux de bord, l'implémentation détermine si le système interroge le projet ou les ressources listées dans le champ d'application des journaux par défaut.
Un champ d'action des journaux peut lister des vues de journaux, des projets, des dossiers et des organisations.
Si vous ne configurez pas de champ d'action des journaux personnalisé, la page Explorateur de journaux interroge votre projet pour obtenir des données de journal.
Quand créer des champs d'application de journaux personnalisés
Créez des champs d'application de journal personnalisés pour les configurations suivantes :
- Vous acheminez les données de journaux vers un bucket de journaux centralisé.
- Vous stockez les données de journaux dans plusieurs projets.
- Vous utilisez la surveillance des applications, un service qui génère des tableaux de bord pour vos applications App Hub.
Dans tous les cas, configurez vos champs d'application de journaux personnalisés pour lister une ou plusieurs vues de journaux. Ces vues de journaux peuvent se trouver sur un bucket de journaux centralisé ou sur différents buckets de journaux. Si vous utilisez un bucket de journaux centralisé, vous pouvez créer plusieurs champs d'application de journaux personnalisés, chacun avec son propre ensemble de vues de journaux.
Si vous créez un champ d'application de journal personnalisé, envisagez de mettre à jour le champ d'application de journal par défaut.
Bonnes pratiques pour configurer des champs d'application des journaux
- N'inclure que les vues de journaux.
- Ne configurez pas un champ d'action qui liste à la fois des projets et des vues de journaux.
Limites associées aux champs d'action des journaux
| Description | Valeur maximale |
|---|---|
| Nombre de champs d'application de journaux par projet | 100 |
| Nombre de projets par champ d'action des journaux | 5 |
| Nombre de vues de journaux ou de projets par champ d'action des journaux | 100 |
Pour en savoir plus, consultez la section Créer et gérer des champs d'action des journaux.
Champ d'application des métriques
Le champ d'application des métriques est utilisé par toutes les requêtes émises par Cloud Monitoring. Par exemple, les règles d'alerte et les outils de création de graphiques tels que l'explorateur de métriques envoient des requêtes aux projets listés dans le champ d'application des métriques.
Si vous ne configurez pas le champ d'application des métriques, les services Monitoring interrogent votre projet pour obtenir des données de métriques.
Quand configurer les champs d'application des métriques
Configurez le champ d'application des métriques si l'une des conditions suivantes est remplie :
- Vous souhaitez représenter graphiquement des données stockées dans différents projets.
- Vous souhaitez qu'une règle d'alerte surveille les données stockées dans différents projets.
- Vous enregistrez des applications auprès d'App Hub. Pour en savoir plus sur ce scénario, consultez Applications App Hub et champs d'application des métriques.
Limites associées aux champs d'application des métriques
| Description | Valeur maximale |
|---|---|
| Nombre de champs d'application des métriques par projet | 1 |
| Nombre de projets par champ d'application des métriques | 375 |
Pour en savoir plus, consultez Présentation des champs d'application des métriques.
Champs d'application des traces
La page Explorateur Trace utilise des champs d'application de trace. Lorsque cette page s'ouvre, le système interroge automatiquement les vues listées dans le champ d'application de trace par défaut pour obtenir des données de trace. Cette page fournit également des commandes qui vous permettent de basculer entre les champs d'application.
Si vous ne configurez pas de champ d'application de trace personnalisé, la page Explorateur Trace interroge la vue _AllSpans du projet sur l'ensemble de données par défaut pour vos données de trace.
Un champ d'application de trace liste des vues, et non des projets Google Cloud . Bien que vous sélectionniez des projets lorsque vous configurez un champ d'application de trace, le système ajoute à ce champ d'application la vue de trace par défaut de ces projets.
La vue de trace par défaut d'un projet correspond à la vue avec le chemin d'accès _Trace/Spans/_AllSpans, où les champs _Trace, Spans et _AllSpans font référence à un bucket, un ensemble de données et une vue d'observabilité. L'ensemble de données Spans stocke vos données de trace.
Quand créer des champs d'application de trace personnalisés ?
Créez des champs d'application de trace personnalisés lorsque vous avez des applications qui s'appuient sur des ressources dans différents projets Google Cloud .
Bonnes pratiques pour configurer des champs d'application de trace
Limites associées aux champs d'application de trace
| Description | Valeur maximale |
|---|---|
| Nombre de champs d'application de trace par projet | 100 |
| Nombre de vues par champ d'application de Trace | 20 |
Pour en savoir plus, consultez la section Créer et gérer des champs d'action de trace.
Configurer le champ d'application de l'observabilité
Cette section ne s'applique pas aux dossiers ni aux organisations.
Pour les données de journaux et de traces, vos rôles IAM (Identity and Access Management) sur le projet que vous consultez, ainsi que sur les projets et les vues de journaux recherchés, ont une incidence sur les données renvoyées par la requête. Si vous émettez une requête pour afficher des données de journal que vous n'êtes pas autorisé à consulter, la requête ne renvoie aucune donnée de journal.
Pour les données de métriques, lorsque le champ d'application des métriques d'un projet est configuré, le projet bénéficie d'un accès en lecture aux données de métriques stockées par les projets listés dans son champ d'application des métriques. Lorsqu'un utilisateur se voit attribuer un rôle Identity and Access Management qui lui permet d'afficher les données de métriques d'un projet, il peut afficher les données de métriques disponibles pour le projet.
Pour configurer le champ d'application de l'observabilité, vous devez définir le champ d'action des journaux par défaut et le champ d'application de Trace par défaut. Le reste de cette section décrit comment effectuer ces actions.
Avant de commencer
Configurez votre projet et vos rôles IAM, puis sélectionnez l'interface que vous prévoyez d'utiliser.
Configurer votre projet et vos rôles
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Pour obtenir les autorisations nécessaires pour créer et afficher des champs d'application, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour créer et afficher des champs d'action de journaux, et pour obtenir le champ d'action des journaux par défaut : Rédacteur de configuration des journaux (
roles/logging.configWriter) sur votre projet -
Pour modifier un champ d'application des métriques : Administrateur Monitoring (
roles/monitoring.admin) sur votre projet et sur chaque projet que vous souhaitez ajouter au champ d'application des métriques -
Pour créer et afficher des champs d'application de trace, et pour obtenir et définir les champs d'application par défaut : Éditeur de champs d'application d'observabilité (
roles/observability.scopesEditor) sur votre projet
Pour en savoir plus sur l'attribution de rôles, consultez 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 champs d'application. 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 champs d'application :
-
logging.logScopes.{create, delete, get, list, update} -
monitoring.metricsscopes.{link, get, list} -
observability.traceScopes.{create, delete, get, list, update} -
observability.scopes.{get, update}
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
-
Pour créer et afficher des champs d'action de journaux, et pour obtenir le champ d'action des journaux par défaut : Rédacteur de configuration des journaux (
Sélectionnez l'interface que vous prévoyez d'utiliser
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud , vous n'avez pas besoin de configurer l'authentification.
gcloud
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initREST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Afficher et définir le champ d'application par défaut
Console
Pour configurer le champ d'application de l'observabilité, vous configurez ses composants, à savoir le champ d'action des journaux par défaut, le champ d'application des métriques et le champ d'application des traces par défaut :
-
Dans la console Google Cloud , accédez à la page settings Paramètres :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte ou le projet de gestion App Hub.
Configurez le champ d'application des journaux par défaut :
Sélectionnez l'onglet Champs d'application des journaux.
Les champs d'application des journaux existants sont listés. L'entrée associée à l'icône "Par défaut",
, correspond au champ d'action des journaux par défaut. Si vous souhaitez créer un champ d'application des journaux, cliquez sur Créer un champ d'application des journaux, puis remplissez la boîte de dialogue. Pour en savoir plus, consultez la section Créer et gérer des champs d'action des journaux.Recherchez l'entrée que vous souhaitez désigner comme valeur par défaut, cliquez sur more_vert Plus, puis sélectionnez Définir par défaut.
Configurez le champ d'application des métriques :
- Sélectionnez l'onglet Champ d'application des métriques.
- Dans le volet Projets Google Cloud, cliquez sur Ajouter des projets, puis remplissez la boîte de dialogue. Pour en savoir plus, consultez Configurer des champs d'application des métriques.
Configurez le champ d'application de trace par défaut :
Sélectionnez l'onglet Champs d'application de la trace, puis procédez comme suit :
Les champs d'application de trace existants sont listés. L'entrée avec l'icône "Par défaut",
, est le champ d'application de trace par défaut. Si vous souhaitez créer un champ d'application de trace, cliquez sur Créer un champ d'application de journal, puis remplissez la boîte de dialogue. Pour en savoir plus, consultez la section Créer et gérer des champs d'action de trace.Recherchez l'entrée que vous souhaitez désigner comme valeur par défaut, cliquez sur more_vert Plus, puis sélectionnez Définir par défaut.
gcloud
Pour afficher et mettre à jour le champ d'application de l'observabilité, procédez comme suit :
Pour afficher les paramètres du champ d'application de l'observabilité, exécutez la commande
gcloud observability scopes describe.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OBSERVABILITY_SCOPE_ID : nom d'un objet
Scope. Cette valeur doit être définie sur_Default. - LOCATION : le champ de l'emplacement doit être défini sur
global. - PROJECT_ID : identifiant du projet.
Exécutez la commande
gcloud observability scopes describe:Linux, macOS ou Cloud Shell
gcloud observability scopes describe OBSERVABILITY_SCOPE_ID \ --location=LOCATION\ --project=PROJECT_ID
Windows (PowerShell)
gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ` --location=LOCATION` --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ^ --location=LOCATION^ --project=PROJECT_ID
La réponse à la commande ressemble à ce qui suit :
logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default traceScope: projects/my-project/locations/global/traceScopes/_Default name: projects/my-project/locations/global/scopes/_Default
- OBSERVABILITY_SCOPE_ID : nom d'un objet
Pour mettre à jour le champ d'application de l'observabilité, exécutez la commande
gcloud observability scopes update. Dans la commandeupdate, vous pouvez inclure l'option--log-scope, l'option--trace-scopeou les deux.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OBSERVABILITY_SCOPE_ID : nom d'un objet
Scope. Cette valeur doit être définie sur_Default. - LOG_SCOPE_FQN_ID : nom de ressource complet du champ d'application du journal. Ce champ est au format suivant :
logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/logScopes/LOG_SCOPE_ID
Dans l'expression précédente, LOG_SCOPE_ID est l'ID du champ d'application du journal. Exemple :
my-scope. - TRACE_SCOPE_FQN_ID : nom de ressource complet du champ d'application de la trace. Ce champ est au format suivant :
projects/PROJECT_ID/locations/LOCATION/traceScopes/TRACE_SCOPE_NAME
Dans l'expression précédente, TRACE_SCOPE_NAME est le nom du champ d'application de la trace. Exemple :
my-trace-scope - LOCATION : le champ de l'emplacement doit être défini sur
global. - PROJECT_ID : identifiant du projet.
Exécutez la commande
gcloud observability scopes update:Linux, macOS ou Cloud Shell
gcloud observability scopes update OBSERVABILITY_SCOPE_ID \ --log-scope=LOG_SCOPE_FQN_ID\ --trace-scope=TRACE_SCOPE_FQN_ID\ --location=LOCATION\ --project=PROJECT_ID
Windows (PowerShell)
gcloud observability scopes update OBSERVABILITY_SCOPE_ID ` --log-scope=LOG_SCOPE_FQN_ID` --trace-scope=TRACE_SCOPE_FQN_ID` --location=LOCATION` --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability scopes update OBSERVABILITY_SCOPE_ID ^ --log-scope=LOG_SCOPE_FQN_ID^ --trace-scope=TRACE_SCOPE_FQN_ID^ --location=LOCATION^ --project=PROJECT_ID
Par exemple, si la valeur de LOG_SCOPE_ID est
my-log-scopeet que la valeur de TRACE_SCOPE_NAME estmy-trace-scope, la réponse est semblable à celle-ci :Updated scope [_Default]. logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-log-scope traceScope: projects/my-project/locations/global/traceScopes/my-trace-scope name: projects/my-project/locations/global/scopes/_Default
- OBSERVABILITY_SCOPE_ID : nom d'un objet
REST
Pour obtenir et définir le champ d'application des journaux par défaut ou le champ d'application des traces par défaut à l'aide d'un appel d'API, vous devez configurer le champ d'application de l'observabilité. Le champ d'application d'observabilité liste le champ d'action des journaux par défaut et le champ d'application de Trace par défaut :
- Pour obtenir le champ d'application d'observabilité par défaut d'un projet, envoyez une requête au point de terminaison
projects.locations.scopes.get. Vous devez spécifier un paramètre de chemin d'accès. La réponse est un objetScope, qui liste le champ d'application des journaux par défaut et le champ d'application des traces par défaut. - Pour mettre à jour le champ d'application d'observabilité par défaut d'un projet, envoyez une requête au point de terminaison
projects.locations.scopes.patch. Vous devez spécifier un paramètre de chemin d'accès, des paramètres de requête et fournir un objetScope. Les paramètres de requête identifient les champs modifiés. La réponse est un objetScope.
Le paramètre de chemin d'accès pour les deux points de terminaison se présente sous la forme suivante :
projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_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 ou le projet de gestion App Hub.
- LOCATION : le champ de l'emplacement doit être défini sur
global. - OBSERVABILITY_SCOPE_ID : nom d'un objet
Scope. La valeur de ce champ doit être définie sur_Default. L'objetScopenommé_Default, qui est créé automatiquement, stocke des informations sur le champ d'application des journaux par défaut et le champ d'application des traces par défaut.
Pour envoyer une commande à un point de terminaison de l'API, vous pouvez utiliser APIs Explorer, qui vous permet d'émettre une commande à partir d'une page de référence. Par exemple, pour obtenir le champ d'application par défaut actuel, vous pouvez procéder comme suit :
- Cliquez sur
projects.locations.scopes.get. - Dans le widget Essayer cette méthode, saisissez les informations suivantes dans le champ name :
projects/PROJECT_ID/locations/global/scopes/_DefaultAvant de copier le champ précédent, remplacez PROJECT_ID par le nom de votre projet.
- Sélectionnez Execute (Exécuter).
- Dans la boîte de dialogue d'autorisation, suivez les étapes requises.
La réponse est semblable à ce qui suit :
{ "name": "projects/my-project/locations/global/scopes/_Default", "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default" "traceScope": "projects/my-project/locations/global/traceScopes/_Default" }
En savoir plus sur les champs d'application
Pour en savoir plus sur les champs d'application, consultez les documents suivants :