Configurer Google Cloud Observability pour la surveillance des applications

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 :

  1. 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.

  2. 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 :

    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 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 :

    1. Créez une vue de journaux sur le bucket de journaux centralisé pour les journaux de votre application.

    2. 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 :

    1. Créez un récepteur agrégé d'interception pour votre dossier compatible avec les applications, et acheminez ces journaux vers le _Default bucket de journaux du projet de gestion de votre dossier compatible avec les applications.

    2. Dans le projet de gestion de votre dossier compatible avec les applications, assurez-vous que le champ d'application des journaux nommé _Default est défini comme champ d'application des journaux par défaut. Le champ d'application nommé _Default répertorie la vue _AllLogs sur le bucket de journaux _Default du 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 :

  1. Dans le projet de gestion de votre dossier compatible avec les applications, créez un champ d'application de journaux.
  2. 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 _AllLogs sur le bucket de journaux _Default du projet. Cette vue inclut tous les journaux du bucket de journaux _Default, et le bucket de journaux _Default stocke 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-folder
    
  3. Enregistrez 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 :

  1. 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'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer l'API

  2. 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.

  3. 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 :

  1. Dans la Google Cloud console, accédez à la  page Alertes :

    Accéder à la page Alertes

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

  2. Dans la barre d'outils de la Google Cloud console, sélectionnez votre projet hôte ou projet de gestionApp Hub.
  3. Recherchez la règle d'alerte, cliquez sur Afficher plus, sélectionnez Modifier, puis accédez à la section Notifications et nom.
  4. Dans la section Libellés d'application , sélectionnez votre application, puis votre service ou votre charge de travail :

    Page de la règle d'alerte montrant comment associer une règle d'alerte à des libellés App Hub.

  5. 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_location
  • apphub_application_id
  • apphub_service_id ou apphub_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 :

Étape suivante