Lorsque vous déployez une application App Hub, elle peut envoyer des données de télémétrie à plusieurs Google Cloud projets. Pour afficher toutes les données de télémétrie générées par votre application dans une seule interface, par exemple dans les tableaux de bord fournis par Application Monitoring, vous devez configurer Google Cloud Observability. Ce document décrit la configuration requise.
Ce document s'applique lorsque vous déployez votre application, puis l'enregistrez dans App Hub, ou lorsque vous déployez vos applications à l'aide du Application Design Center.
En plus de configurer Google Cloud Observability, vous pouvez effectuer les opérations suivantes :
Associez des libellés spécifiques à l'application à vos règles d'alerte. Lorsque vous ajoutez ces libellés, les incidents associés à votre application s'affichent dans les tableaux de bord Application Monitoring. Pour en savoir plus, consultez la section Associer une règle d'alerte à une application App Hub de ce document.
Si vous déployez des charges de travail sur Google Kubernetes Engine et que vous souhaitez que les signaux d'or de trafic, de latence et de taux d'erreur s'affichent dans vos tableaux de bord Application Monitoring, instrumentez votre application avec OpenTelemetry. Pour en savoir plus, consultez la section Instrumenter pour Application Monitoring.
Avant de commencer
Identifiez le projet dont vous allez configurer le champ d'application d'observabilité. Ce projet est l'un des suivants :
- Un projet hôte App Hub.
- Un projet de gestion App Hub pour votre limite de projet unique.
- Un projet de gestion App Hub pour votre dossier compatible avec les applications.
Dans ce document, lorsque le type de projet de gestion n'est pas spécifié, la tâche de configuration s'applique à tous les projets de gestion.
Assurez-vous de disposer des rôles IAM (Identity and Access Management) nécessaires pour configurer le champ d'application d'observabilité. Les rôles IAM requis dépendent du fait que vous prévoyez de créer un récepteur agrégé, qui vous permet de centraliser le stockage des données de journalisation.
Configurer le récepteur et les champs d'application
Pour obtenir les autorisations nécessaires pour configurer les champs d'application d'observabilité et créer un récepteur de journaux agrégé, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de l'organisation (
roles/resourcemanager.organizationAdmin) dans votre organisation. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer uniquement les champs d'application
Pour obtenir les autorisations nécessaires pour configurer le champ d'application d'observabilité, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Éditeur Observability (
roles/observability.editor) sur votre projet hôte ou projet de gestion App Hub -
Rédacteur de configuration des journaux (
roles/logging.configWriter) sur votre projet hôte ou projet de gestion App Hub -
Administrateur Monitoring (
roles/monitoring.admin) sur votre projet hôte ou projet de gestion App Hub et sur chaque projet que vous souhaitez ajouter au champ d'application des métriques -
Utilisateur Cloud Trace (
roles/cloudtrace.user) sur votre projet hôte ou projet de gestion App Hub -
Lecteur App Hub (
roles/apphub.viewer) sur votre projet hôte ou projet de gestion App Hub
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
-
Éditeur Observability (
Configurer le champ d'application d'observabilité
Le champ d'application d'observabilité contrôle la façon dont les pages de l'explorateur et du tableau de bord recherchent les données à afficher. Chaque Google Cloud projet contient un seul champ d'application d'observabilité. Vous ne configurez pas directement le champ d'application d'observabilité d'un projet. Au lieu de cela, vous configurez les éléments suivants pour votre projet :
Le champ d'application des journaux par défaut
Configurez ce champ d'application afin que les données de journalisation de votre application s'affichent lorsque vous ouvrez la page Explorateur de journaux ou que vous consultez des tableaux de bord. Assurez-vous que ce champ d'application répertorie les projets et les vues de journaux qui stockent les données de journalisation de votre application.
Le champ d'application des métriques
Configurez ce champ d'application afin que vos graphiques, par exemple ceux que vous créez à l'aide de la page Explorateur de métriques , et les règles d'alerte puissent afficher ou surveiller les données de métriques de votre application. Assurez-vous que ce champ d'application répertorie les projets qui stockent les données de métriques de votre application.
Le champ d'application des traces par défaut
Configurez ce champ d'application afin que les données de trace de votre application s'affichent lorsque vous ouvrez la page Explorateur Trace. Assurez-vous que ce champ d'application répertorie les projets qui stockent les données de trace de votre application.
Le reste de cette section fournit des conseils sur la configuration de ces champs d'application.
Configurer et définir le champ d'application des journaux par défaut
Effectuez l'une des opérations suivantes :
Si vous disposez d'un récepteur agrégé au niveau de l'organisation qui achemine toutes les données de journalisation de votre organisation vers un bucket de journaux centralisé, nous vous recommandons de procéder comme suit :
Créez une vue de journaux sur le bucket de journaux centralisé pour les journaux de votre application.
Dans votre App Hub projet hôte ou projet de gestion, créez un champ d'application de journaux et ajoutez votre vue de journaux, puis définissez ce champ d'application comme champ d'application des journaux par défaut.
Si vous utilisez un dossier compatible avec les applications et que vous ne disposez pas d'un récepteur agrégé au niveau de l'organisation ni de dossiers imbriqués, nous vous recommandons de procéder comme suit :
Créez un récepteur agrégé d'interception pour votre dossier compatible avec les applications, et acheminez ces journaux vers le
_Defaultbucket de journaux du projet de gestion de votre dossier compatible avec les applications.Dans le projet de gestion de votre dossier compatible avec les applications, assurez-vous que le champ d'application des journaux nommé
_Defaultest défini comme champ d'application des journaux par défaut. Le champ d'application nommé_Defaultrépertorie la vue_AllLogssur le bucket de journaux_Defaultdu projet, qui est l'emplacement de stockage centralisé de votre application.
Si vous n'utilisez pas de récepteur agrégé, configurez le champ d'application des journaux par défaut pour votre App Hub projet hôte ou projet de gestion afin de répertorier les emplacements de stockage des données de journalisation de votre application. Nous vous recommandons d'ajouter des vues de journaux sur les buckets de journaux qui stockent vos données de journalisation.
Par exemple, supposons que vous ayez configuré un dossier compatible avec les applications et que vous n'utilisiez pas de récepteur agrégé. Vous pouvez alors procéder comme suit :
- Dans le projet de gestion de votre dossier compatible avec les applications, créez un champ d'application de journaux.
Ajoutez au champ d'application des journaux une vue de journaux pour chaque projet de votre dossier, y compris le projet de gestion.
La vue que vous ajoutez est la vue
_AllLogssur le bucket de journaux_Defaultdu projet. Cette vue inclut tous les journaux du bucket de journaux_Default, et le bucket de journaux_Defaultstocke les données de journalisation de votre application.Une fois cette étape terminée, le champ d'application des journaux peut contenir des entrées telles que :
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folderEnregistrez votre champ d'application des journaux et définissez-le comme champ d'application des journaux par défaut.
Configurer le champ d'application des métriques
Assurez-vous que le champ d'application des métriques de votre projet hôte ou projet de gestionApp Hub répertorie tous les projets qui stockent les données de métriques de votre application :
Pour les dossiers compatibles avec les applications, Google Cloud Observability tente de synchroniser la liste des projets de votre dossier compatible avec les applications avec la liste des projets du champ d'application des métriques. Par exemple, si vous ajoutez un projet au dossier compatible avec les applications, une commande est émise pour ajouter ce projet au champ d'application des métriques.
Lorsque le nombre de projets dans votre dossier compatible avec les applications ne dépasse pas votre quota de champ d'application des métriques, qui est de 375 projets par champ d'application des métriques par défaut, Google Cloud Observability peut synchroniser la liste des projets dans le champ d'application des métriques avec la liste des projets de votre dossier compatible avec les applications. Supposons par exemple que le quota soit de 375 projets par champ d'application des métriques. Si votre dossier compatible avec les applications contient 100 projets, le champ d'application des métriques répertorie tous les projets de votre dossier compatible avec les applications. Si vous ajoutez des projets à votre dossier compatible avec les applications, ils sont également ajoutés au champ d'application des métriques.
Lorsque le nombre de projets dans votre dossier compatible avec les applications dépasse votre quota de champ d'application des métriques, la liste des projets dans le champ d'application des métriques n'inclut pas tous les projets de votre dossier compatible avec les applications. Supposons par exemple que le quota soit de 375 projets par champ d'application des métriques et que votre dossier compatible avec les applications contienne 380 projets. Une fois que 375 projets ont été ajoutés au champ d'application des métriques, le quota est épuisé et les tentatives d'ajout des 5 projets restants échouent. Par conséquent, certaines données d'application ne sont pas disponibles pour le projet de gestion de votre dossier compatible avec les applications.
Nous vous recommandons de vérifier votre utilisation du quota de champ d'application des métriques et de déterminer si vous devez demander une mise à jour du quota ou modifier manuellement le champ d'application des métriques. Pour en savoir plus, consultez la section Champs d'application des métriques pour les dossiers compatibles avec les applications.
Pour les projets hôtes App Hub et les projets de gestion pour les limites de projet unique, vous devez configurer le champ d'application des métriques.
Si vous modifiez l'ensemble des projets qui stockent vos données de métriques, vous devez également mettre à jour le champ d'application des métriques de votre projet hôte.
Configurer et définir le champ d'application des traces par défaut
Procédez comme suit :
Pour chaque projet qui stockera les données de trace de votre application, nous vous recommandons d'activer l'API Observability :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Dans votre App Hub projet hôte ou projet de gestion, créez un champ d'application de trace et ajoutez les projets qui stockent les données de trace de votre application. Si vous utilisez un dossier compatible avec les applications, ajoutez les projets de ce dossier.
Définissez votre champ d'application de trace personnalisé comme le champ d'application de trace par défaut.
La carte de topologie ne peut afficher que les données de trace des projets appartenant à la même organisation que votre projet hôte ou votre projet de gestion.
Associer une règle d'alerte à une application App Hub
Pour afficher vos règles d'alerte dans le contexte d'Application Monitoring, vous devez les associer à un service ou à une charge de travail en ajoutant des libellés spécifiques à l'application à la règle d'alerte. Ces libellés définis par l'utilisateur sont également inclus dans tous les incidents créés pour une règle. Pour en savoir plus sur les libellés, consultez la section Annoter les incidents avec des libellés. Pour obtenir la liste des libellés App Hub, consultez la section Afficher la télémétrie des applications.
Pour associer une règle d'alerte à une charge de travail ou à un service à l'aide de la Google Cloud console, procédez comme suit :
-
Dans la Google Cloud console, accédez à la notifications page Alertes :
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 Google Cloud console, sélectionnez votre projet hôte ou projet de gestionApp Hub.
- Recherchez la règle d'alerte, cliquez sur more_vert Afficher plus, sélectionnez Modifier, puis accédez à la section Notifications et nom.
Dans la section Libellés d'application , sélectionnez votre application, puis votre service ou votre charge de travail :
Cliquez sur Enregistrer la règle.
Une fois ces étapes terminées, les libellés avec les clés suivantes sont associés à votre règle d'alerte. Ces libellés identifient votre application et votre service ou charge de travail :
apphub_application_locationapphub_application_idapphub_service_idouapphub_workload_id
Vous pouvez également ajouter des libellés utilisateur à une règle d'alerte à l'aide de Google Cloud CLI, de Terraform ou de l'API Cloud Monitoring. Toutefois, vous devez utiliser les clés de libellé affichées dans l'exemple précédent. Pour en savoir plus, consultez les ressources suivantes :
Accorder l'accès
IAM gère l'accès à vos données de journaux, de métriques et de traces. Cette section récapitule les rôles que vous pouvez attribuer aux principaux :
Accesseur de vues de journaux (
roles/logging.viewAccessor) sur les vues de journaux listées dans le champ d'application des journaux par défaut de votre projet hôte ou projet de gestion App Hub. Pour en savoir plus sur l'attribution d'un accès à une vue de journaux, consultez la section Contrôler l'accès à une vue de journaux.Lecteur de journaux (
roles/logging.viewer) sur votre projet hôte ou projet de gestion App Hub et sur tous les autres projets listés dans son champ d'application des journaux par défaut. Ce rôle accorde l'accès à la plupart des entrées de journaux dans le bucket de journaux_Default. Pour en savoir plus, consultez la section Rôles Logging.Rôle Éditeur Monitoring (
roles/monitoring.editor) sur votre projet hôte ou projet de gestion App Hub. Pour les principaux qui n'ont pas besoin de créer de règles d'alerte, envisagez d'accorder le rôle Lecteur Monitoring (roles/monitoring.viewer).Utilisateur Cloud Trace (
roles/cloudtrace.user) sur votre projet hôte ou projet de gestion App Hub et sur les projets listés dans son champ d'application de trace par défaut.Lecteur App Hub (
roles/apphub.view) sur votre projet hôte ou projet de gestion App Hub.