Une fois que vous avez collecté des métriques à partir de vos charges de travail déployées dans l'appliance isolée Google Distributed Cloud (GDC), vous pouvez commencer à les analyser. Pour analyser les métriques, vous pouvez les visualiser et les filtrer dans des tableaux de bord Grafana informatifs, ou y accéder directement depuis Cortex à l'aide de l'outil curl pour un script et une automatisation flexibles.
Vous pouvez accéder à vos métriques de deux manières :
- Tableaux de bord Grafana : explorez les tendances et identifiez les anomalies grâce à des visualisations intuitives des métriques clés, comme l'utilisation du processeur, la consommation de stockage et l'activité réseau. Grafana fournit une interface conviviale pour filtrer et analyser les données de vos charges de travail dans des tableaux de bord.
- Point de terminaison Cortex : pour les cas d'utilisation plus avancés, interrogez directement l'instance Cortex de votre projet à l'aide de l'outil
curlsur une ligne de commande. Cortex stocke les métriques Prometheus de votre projet et fournit un point de terminaison HTTP pour l'accès programmatique. Cet accès vous permet d'exporter des données, d'automatiser des tâches et de créer des intégrations personnalisées.
Avant de commencer
Pour obtenir les autorisations nécessaires pour interroger et visualiser les métriques dans les tableaux de bord Grafana, demandez à votre administrateur IAM au niveau de l'organisation ou du projet de vous accorder l'un des rôles prédéfinis "Lecteur Grafana au niveau de l'organisation" ou "Lecteur Grafana au niveau du projet". Selon le niveau d'accès et les autorisations dont vous avez besoin, vous pouvez obtenir des rôles Grafana dans une organisation ou un projet.
Vous pouvez également demander à l'administrateur IAM de votre projet de vous accorder le rôle Lecteur Prometheus Project Cortex dans l'espace de noms de votre projet pour obtenir les autorisations nécessaires pour interroger les métriques à partir du point de terminaison Cortex.
Pour en savoir plus sur ces rôles, consultez Préparer les autorisations IAM.
Obtenir et filtrer vos métriques
Sélectionnez l'une des méthodes suivantes pour créer des requêtes, visualiser des tendances et filtrer des métriques à partir des charges de travail de votre projet :
Tableaux de bord Grafana
Cette section explique comment accéder à vos métriques à l'aide des tableaux de bord Grafana.
Identifier votre point de terminaison Grafana
L'URL suivante est le point de terminaison de l'instance Grafana de votre projet :
https://GDC_URL/PROJECT_NAMESPACE/grafana
Remplacez les éléments suivants :
GDC_URL: URL de votre organisation dans GDC.PROJECT_NAMESPACE: espace de noms de votre projet.Par exemple, le point de terminaison Grafana pour le projet
platform-obsdans l'organisationorg-1esthttps://org-1/platform-obs/grafana.
Afficher les métriques dans l'interface utilisateur Grafana
Récupérez les métriques dans l'interface utilisateur Grafana :
- Dans la console GDC, sélectionnez votre projet.
- Dans le menu de navigation, sélectionnez Opérations > Monitoring.
Cliquez sur Tout afficher dans Grafana.
Une nouvelle page s'ouvre sur votre point de terminaison Grafana et affiche l'interface utilisateur.
Dans l'interface utilisateur,cliquez sur Explorer Explorer dans le menu de navigation pour ouvrir la page Explorer.
Dans le menu de la barre Explorer, sélectionnez une source de données pour récupérer les métriques, en fonction de votre type d'univers :
- Univers à zone unique : sélectionnez prometheus pour afficher les métriques de la zone unique de votre univers.
Saisissez une requête pour rechercher des métriques à l'aide d'expressions PromQL (Prometheus Query Language). Vous pouvez effectuer cette étape de l'une des deux manières suivantes :
- Sélectionnez une métrique et un libellé pour votre requête dans les menus Métriques et Filtres de libellés. Cliquez sur add Add (ajouter) pour ajouter d'autres libellés à votre requête. Cliquez ensuite sur Exécuter la requête.
- Saisissez votre requête directement dans le champ de texte Métriques, puis appuyez sur Maj+Entrée pour l'exécuter.
La page affiche les métriques correspondant à votre requête.

Figure 1 : Option de menu permettant d'interroger les métriques à partir de l'interface utilisateur Grafana.
Dans la figure 1, l'option prometheus affiche l'interface qui vous permet de créer des requêtes à partir de Grafana pour récupérer des métriques.
Pour obtenir des exemples de valeurs de libellés que vous pouvez utiliser pour interroger des métriques, consultez Exemples de requêtes et de libellés.
Point de terminaison Cortex
Cette section explique comment accéder à vos métriques à l'aide de Cortex.
Identifier votre point de terminaison Cortex
L'URL suivante correspond au point de terminaison de l'instance Cortex de votre projet :
https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/
Remplacez les éléments suivants :
GDC_URL: URL de votre organisation dans GDC.PROJECT_NAMESPACE: espace de noms de votre projet.Par exemple, le point de terminaison Cortex pour le projet
platform-obsdans l'organisationorg-1esthttps://org-1/platform-obs/cortex/prometheus/.
Authentifier la requête curl
- Téléchargez et installez la gdcloud CLI.
Définissez la propriété gdcloud
core/organization_console_url:gdcloud config set core/organization_console_url https://GDC_URLSe connecter avec le fournisseur d'identité configuré :
gdcloud auth loginUtilisez votre nom d'utilisateur et votre mot de passe pour vous authentifier et vous connecter.
Une fois la connexion établie, vous pouvez utiliser l'en-tête d'autorisation dans votre requête cURL à l'aide de la commande
gdcloud auth print-identity-token. Pour en savoir plus, consultez gdcloud auth.
Appeler le point de terminaison Cortex
Pour accéder au point de terminaison Cortex à l'aide de l'outil curl, procédez comme suit :
- Authentifiez la requête
curl. Utilisez
curlpour appeler le point de terminaison Cortex et étendre l'URL à l'aide de l'API HTTP Prometheus standard (https://prometheus.io/docs/prometheus/latest/querying/api/) pour interroger les métriques.Voici un exemple de requête
curl:curl https://GDC_URL/PROJECT_NAME/cortex/prometheus/api/v1/query?query=my_metric{cluster="my-cluster"}&time=2015-07-01T20:10:51.781Z \ -H "Authorization: Bearer $(gdcloud auth print-identity-token \ --audiences=https://GDC_URL)"Vous obtenez le résultat suivant après l'exécution de la commande. La réponse de l'API est au format JSON.
Exemples de requêtes et de libellés
Vous pouvez interroger des métriques à l'aide du nom de la métrique et de paires clé-valeur pour les libellés. Une requête PromQL utilise la syntaxe suivante :
metric_name{label_one="value", label_two="value"}
Les libellés vous permettent de différencier les caractéristiques d'une métrique. De cette manière, les auteurs de conteneurs font en sorte que leurs charges de travail génèrent des métriques et ajoutent des tags pour filtrer ces métriques.
Par exemple, vous pouvez utiliser une métrique api_http_requests_total pour comptabiliser le nombre de requêtes HTTP reçues. Vous pouvez ensuite ajouter un libellé request_method à cette métrique, qui prend une valeur POST, GET ou PUT. Par conséquent, vous créez trois flux de métriques pour chaque type de demande que vous pourriez recevoir. Dans ce cas, pour trouver le nombre de requêtes HTTP GET, exécutez la requête suivante :
api_http_requests_total{request_method="GET"}
Pour en savoir plus sur les métriques et les libellés, consultez https://prometheus.io/docs/practices/naming/.
Voici quelques-uns des libellés par défaut ajoutés par la ressource personnalisée MonitoringTarget. Vous pouvez utiliser ces libellés par défaut pour interroger les métriques :
_gdch_service: nom abrégé du service.cluster: nom du cluster.container_name: nom du conteneur dans un pod.namespace_name: espace de noms de votre projet.pod_name: préfixe du nom du pod.
Le tableau suivant décrit les libellés que Prometheus ajoute automatiquement :
| Libellé de la métrique | Description |
|---|---|
job |
Nom interne du job de récupération utilisé pour collecter la métrique. Les jobs créés par la ressource personnalisée MonitoringTarget ont un nom qui suit le modèle suivant :obs-system/OBS_SHADOW_PROJECT_NAME/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/JI et J sont des nombres uniques déterminés en interne pour éviter les conflits de noms. |
instance |
$IP:$PORT du service abandonné. Si une ressource de charge de travail comporte plusieurs répliques, utilisez ce champ pour les différencier. |
Les exemples de code suivants montrent comment utiliser des paires clé/valeur pour les libellés afin d'interroger différentes métriques :
Affichez tous les flux de métriques des opérations traitées dans votre projet :
processed_ops_totalAffichez les opérations traitées collectées dans un cluster Kubernetes :
processed_ops_total{cluster="CLUSTER_NAME"}Affichez l'utilisation du processeur collectée dans un cluster Kubernetes :
cpu_usage{cluster="CLUSTER_NAME"}
Utilisez l'outil de modification des libellés de métriques pour ajouter des libellés qui n'étaient pas exposés initialement par les conteneurs récupérés et renommer les métriques produites. Vous devez configurer la ressource personnalisée MonitoringTarget pour ajouter des libellés aux métriques qu'elle collecte.
Spécifiez ces libellés dans le champ metricsRelabelings de la ressource personnalisée.
Pour en savoir plus, consultez Métriques des libellés.
Interroger des métriques à partir de l'API Cortex
Cortex est le stockage à long terme des métriques Prometheus dans GDC. La plate-forme Observability expose un point de terminaison d'API HTTP Cortex pour interroger et lire les métriques, les alertes et d'autres données de séries temporelles Prometheus de votre projet.
Interrogez les métriques directement à partir de l'API HTTP pour lire et exporter des métriques et d'autres données de séries temporelles vers des outils externes, configurer des tâches automatisées, adapter les réponses et créer des intégrations en fonction de votre cas d'utilisation de la surveillance du système. Par exemple, insérez la sortie dans une autre commande, exportez les détails au format texte ou configurez une job Cron Linux. Vous pouvez appeler l'API depuis l'interface de ligne de commande (CLI) ou un navigateur Web, et utiliser des expressions de langage de requête comme paramètres de point de terminaison pour obtenir le résultat au format JSON.
Cette section explique comment appeler le point de terminaison de l'API Cortex à partir de la CLI à l'aide de la spécification de l'API Prometheus pour interroger les métriques d'observabilité des données.
Avant de commencer
Vous devez obtenir l'autorisation d'interroger les métriques à partir de la CLI. Pour obtenir les autorisations nécessaires pour accéder au point de terminaison de l'API Cortex, demandez à l'administrateur IAM de votre projet de vous attribuer le rôle Lecteur Prometheus Project Cortex (project-cortex-prometheus-viewer).
Créez les liaisons de rôle suivantes à l'aide des commandes kubectl pour Cortex Prometheus pour chaque persona :
Administrateur racine de l'opérateur d'infrastructure (IO) :
Project Cortex Prometheus Viewerkubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding io-cortex-prometheus-viewer-binding -n infra-obs --user=fop-infrastructure-operator@example.com --role=project-cortex-prometheus-viewerAdministrateur de plate-forme (PA) Administrateur racine :
Project Cortex Prometheus Viewerkubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding pa-cortex-prometheus-viewer-binding -n platform-obs --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewerAdministrateur racine de l'opérateur d'application (AO) :
Project Cortex Prometheus Viewerkubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding project-cortex-prometheus-viewer-binding -n PROJECT_NAME --user=USER_NAME --role=project-cortex-prometheus-viewerRemplacez les éléments suivants :
- PROJECT_NAME : le nom de votre projet
- USER_NAME : nom de compte de l'utilisateur qui nécessite la liaison de rôle.
Une fois l'association de rôle créée, vous pouvez accéder à l'API Prometheus avec votre nom d'utilisateur.
Point de terminaison de l'API HTTP
L'URL suivante est le point de terminaison de l'API HTTP permettant d'accéder aux métriques du projet platform-obs :
https://GDC_URL/PROJECT_NAME/cortex/prometheus/
Remplacez les éléments suivants :
- GDC_URL : URL de votre organisation dans GDC.
- PROJECT_NAME : le nom de votre projet
Appeler le point de terminaison de l'API
Suivez les étapes ci-dessous pour accéder au point de terminaison de l'API Cortex depuis l'interface de ligne de commande et interroger les métriques :
- Assurez-vous de remplir les conditions préalables.
- Ouvrez la CLI.
Utilisez l'outil
curlpour appeler le point de terminaison Cortex et étendre l'URL à l'aide de la norme https://prometheus.io/docs/prometheus/latest/querying/api/ pour interroger les métriques. Exemple :curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
Vous obtenez le résultat dans la CLI après la commande. Le format de réponse de l'API est JSON.