Après avoir collecté des métriques à partir de vos charges de travail déployées dans Google Distributed Cloud (GDC) air-gapped, 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.
Cette page fournit des instructions détaillées sur la façon d'interroger et de visualiser vos métriques à l'aide de l'interface utilisateur Grafana et de l'outil curl
pour le point de terminaison Cortex afin d'obtenir des insights sur les performances de votre charge de travail.
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
curl
sur 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 de l'organisation ou du projet de vous accorder l'un des rôles prédéfinis "Lecteur Grafana de l'organisation" ou "Lecteur Grafana 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-obs
dans l'organisationorg-1
esthttps://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.
Univers multizones : Grafana peut se connecter à différentes zones et afficher des données interzones. Sélectionnez Métriques ZONE_NAME pour afficher les métriques de n'importe quelle zone de votre univers, quelle que soit la zone à laquelle vous êtes connecté.
De plus, pour obtenir des visualisations de données multizones dans un seul tableau de bord et ajouter plusieurs zones à votre requête, sélectionnez Mixte comme source de données.
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étrique et Filtres de libellés. Cliquez sur Ajouter 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-obs
dans l'organisationorg-1
esthttps://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_URL
Se connecter avec le fournisseur d'identité configuré :
gdcloud auth login
Utilisez 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
curl
pour 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/J I 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_total
Affichez 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.