La configuration de Google Cloud Observability pour la surveillance des applications vous permet d'afficher et d'analyser les journaux, les métriques et les traces de vos applications App Hub dans une seule interface, même lorsque votre télémétrie est stockée dans plusieurs projets Google Cloud . Pour configurer Google Cloud Observability, vous devez configurer le champ d'application de l'observabilité, qui inclut le champ d'application des journaux par défaut, le champ d'application des métriques et le champ d'application des traces par défaut, et attribuer des rôles IAM. Cette configuration s'applique que vous enregistriez une application existante auprès d'App Hub ou que vous déployiez des applications à l'aide d'Application Design Center.
Pour afficher les alertes associées à une application sur vos tableaux de bord de surveillance des applications, vous pouvez également associer vos règles d'alerte à votre application App Hub. Si vous exécutez des charges de travail sur Google Kubernetes Engine et que vous souhaitez que les tableaux de bord Application Monitoring affichent les signaux clés de trafic HTTP, de latence et de taux d'erreur, consultez Instrumenter une application 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 éléments 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 de l'observabilité. Les rôles IAM requis dépendent de votre intention de créer un récepteur agrégé, qui vous permet de centraliser le stockage des données de journaux.
Configurer le récepteur et les champs d'application
Pour obtenir les autorisations nécessaires pour configurer des 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) sur 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 d'observabilité (
roles/observability.editor) sur votre projet hôte ou de gestion App Hub - Rédacteur de configuration des journaux (
roles/logging.configWriter) sur votre projet hôte ou de gestion App Hub - Administrateur Monitoring (
roles/monitoring.admin) sur votre projet hôte ou 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 de gestion App Hub - Lecteur App Hub (
roles/apphub.viewer) sur votre projet hôte ou 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 d'observabilité (
Configurer le champ d'application de l'observabilité
Le champ d'application de l'observabilité contrôle la façon dont les pages de l'explorateur et du tableau de bord recherchent les données à afficher. Chaque projet Google Cloud contient un seul champ d'application d'observabilité. Vous ne configurez pas directement le champ d'application d'observabilité d'un projet. À la place, vous configurez les éléments suivants pour votre projet :
Le champ d'application des journaux par défaut
Configurez ce champ d'application de sorte que lorsque vous ouvrez la page Explorateur de journaux ou que vous affichez des tableaux de bord, les données de journal de votre application s'affichent. Assurez-vous que ce champ d'application répertorie les projets et les vues de journaux qui stockent les données de journaux 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 vos 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.
Champ d'application de Trace par défaut
Configurez ce champ d'application de sorte que lorsque vous ouvrez la page Explorateur Trace, les données de trace de votre application s'affichent. 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 explique comment configurer 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 journaux 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 projet hôte ou de gestion App Hub, créez un champ d'application des 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, puis acheminez ces journaux vers le bucket de journaux
_Defaultdu 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é_Defaultliste 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 projet hôte ou de gestion App Hub afin de lister les emplacements de stockage des données de journaux de votre application. Nous vous recommandons d'ajouter des vues de journaux aux buckets de journaux qui stockent vos données de journaux.
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 ensuite procéder comme suit :
- Dans le projet de gestion de votre dossier compatible avec les applications, vous créez un champ d'application des journaux.
Vous ajoutez au champ d'application du journal une vue de journal 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, qui_Defaultstocke les données de journal de votre application.Une fois cette étape terminée, le champ d'application du journal peut contenir des entrées semblables à celles-ci :
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folderVous enregistrez votre champ d'application de journal et le définissez comme champ d'application de journal 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 de gestion App Hub liste 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 par défaut de 375 projets par champ d'application des métriques, Google Cloud Observability peut synchroniser la liste des projets du champ d'application des métriques avec la liste des projets de votre dossier compatible avec les applications. Par exemple, supposons 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 liste 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 du champ d'application des métriques n'inclut pas tous les projets de votre dossier compatible avec les applications. Par exemple, supposons 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 cinq 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 d'examiner l'utilisation de votre 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 sur ces étapes, consultez 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 d'un seul projet, vous devez configurer le champ d'application des métriques.
Si vous modifiez l'ensemble de 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 de trace 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 des API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.Dans votre projet hôte ou de gestion App Hub, 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 dans ce dossier.
Définissez votre champ d'application de trace personnalisé comme champ d'application de trace par défaut.
Le graphique de topologie ne peut afficher que les données de trace des projets de 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 de la surveillance des applications, vous devez les associer à un service ou à une charge de travail en ajoutant des étiquettes spécifiques à l'application à la règle d'alerte. Ces étiquettes définies par l'utilisateur sont également incluses dans toutes les alertes créées pour une règle. Pour en savoir plus sur les libellés, consultez Annoter des alertes avec des libellés. Pour obtenir la liste des étiquettes App Hub, consultez Afficher la télémétrie de l'application.
Pour associer une règle d'alerte à une charge de travail ou à un service à l'aide de la console Google Cloud , procédez comme suit :
-
Dans la console Google Cloud , accédez à la page notifications 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 consoleGoogle Cloud , sélectionnez votre projet hôte ou de gestion App 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 étiquettes avec les clés suivantes sont associées à 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 la Google Cloud CLI, de Terraform ou de l'API Cloud Monitoring. Toutefois, vous devez utiliser les clés d'étiquette présenté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 comptes principaux :
Accesseur de vue 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 de gestion App Hub. Pour en savoir plus sur l'attribution d'un accès à une vue de journal, consultez Contrôler l'accès à une vue de journal.Visionneuse de journaux (
roles/logging.viewer) sur votre projet hôte ou de gestion App Hub, ainsi que sur tous les autres projets listés dans son champ d'action des journaux par défaut. Ce rôle permet d'accéder à la plupart des entrées de journal du bucket de journaux_Default. Pour en savoir plus, consultez Rôles Logging.Rôle Éditeur Monitoring (
roles/monitoring.editor) sur votre projet hôte ou de gestion App Hub. Pour les comptes principaux qui n'ont pas besoin de créer des règles d'alerte, envisagez d'attribuer le rôle Lecteur Monitoring (roles/monitoring.viewer).Utilisateur Cloud Trace (
roles/cloudtrace.user) sur votre projet hôte ou 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.viewer) sur votre projet hôte ou de gestion App Hub.