Configurer une interface utilisateur de requête

Après avoir déployé Google Cloud Managed Service pour Prometheus, vous pouvez interroger les données envoyées au service géré et afficher les résultats dans des graphiques et des tableaux de bord.

Ce document décrit les champs d'application de métriques, qui déterminent les données que vous pouvez interroger, ainsi que les méthodes suivantes pour récupérer et utiliser les données que vous avez collectées :

  • Interfaces basées sur Prometheus :

    • Page Managed Service pour Prometheus dans Google Cloud Console
    • API HTTP Prometheus
    • Interface utilisateur Prometheus
    • Grafana
  • Cloud Monitoring dans la console Google Cloud

Toutes les interfaces de requête du service géré pour Prometheus sont configurées pour récupérer les données de Monarch à l'aide de l'API Cloud Monitoring. En interrogeant Monarch au lieu d'interroger les données des serveurs Prometheus locaux, vous obtenez une surveillance globale à grande échelle.

Avant de commencer

Si vous n'avez pas encore déployé le service géré, configurez la collecte gérée ou la collecte auto-déployée. Vous pouvez ignorer cette étape si vous souhaitez uniquement interroger des métriques Cloud Monitoring à l'aide de PromQL.

Configurer votre environnement

Pour éviter de saisir à plusieurs reprises l'ID de votre projet ou le nom de votre cluster, effectuez la configuration suivante :

  • Configurez les outils de ligne de commande comme suit :

    • Configurez la CLI gcloud pour faire référence à l'ID de votre projet Cloud :

      gcloud config set project PROJECT_ID
      
    • Configurez la CLI kubectl pour utiliser votre cluster :

      kubectl config set-cluster CLUSTER_NAME
      

    Pour en savoir plus sur ces outils, consultez les articles suivants :

Configurer un espace de noms

Créez l'espace de noms Kubernetes gmp-test pour les ressources que vous créez dans le cadre de l'exemple d'application :

kubectl create ns gmp-test

Vérifier les identifiants du compte de service

Vous pouvez ignorer cette section si Workload Identity est activé pour votre cluster Kubernetes.

Lors de l'exécution sur GKE, le service géré pour Prometheus récupère automatiquement les identifiants de l'environnement en fonction du compte de service Compute Engine par défaut. Le compte de service par défaut dispose des autorisations nécessaires, monitoring.metricWriter et monitoring.viewer, par défaut. Si vous n'utilisez pas Workload Identity et que vous avez précédemment supprimé l'un de ces rôles du compte de service de nœud par défaut, vous devrez rajouter ces autorisations manquantes avant de continuer.

Si vous n'exécutez pas sur GKE, consultez la section Fournir les identifiants explicitement.

Configurer un compte de service pour Workload Identity

Vous pouvez ignorer cette section si Workload Identity n'est pas activé pour votre cluster Kubernetes.

Managed Service pour Prometheus capture les données de métriques à l'aide de l'API Cloud Monitoring. Si votre cluster utilise Workload Identity, vous devez autoriser votre compte de service Kubernetes à accéder à l'API Monitoring. Cette section décrit les opérations suivantes :

Créer et associer le compte de service

Cette étape apparaît à plusieurs endroits de la documentation de Managed Service pour Prometheus. Si vous avez déjà effectué cette étape dans le cadre d'une tâche précédente, vous n'avez pas besoin de la répéter. Passez directement à la section Autoriser le compte de service.

La séquence de commandes suivante crée le compte de service gmp-test-sa et l'associe au compte de service Kubernetes par défaut dans l'espace de noms gmp-test :

gcloud iam service-accounts create gmp-test-sa \
&&
gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:PROJECT_ID.svc.id.goog[gmp-test/default]" \
  gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
&&
kubectl annotate serviceaccount \
  --namespace gmp-test \
  default \
  iam.gke.io/gcp-service-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com

Si vous utilisez un autre espace de noms ou compte de service GKE, ajustez les commandes en conséquence.

Autoriser le compte de service

Les groupes d'autorisations associées sont collectés dans des rôles que vous attribuez à un compte principal, dans cet exemple, le compte de service Google Cloud. Pour en savoir plus sur ces rôles, consultez la page Contrôle des accès.

La commande suivante accorde au compte de service Google Cloud gmp-test-sa les rôles de l'API Monitoring dont il a besoin pour écrire les données de métriques.

Si vous avez déjà attribué un rôle spécifique au compte de service Google Cloud dans le cadre de la tâche précédente, vous n'avez pas besoin de le faire à nouveau.

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
  --role=roles/monitoring.viewer

Workload Identity dans les environnements de production

L'exemple décrit dans ce document associe le compte de service Google Cloud au compte de service Kubernetes par défaut et accorde au compte de service Google Cloud toutes les autorisations nécessaires pour utiliser l'API Monitoring.

Dans un environnement de production, vous pouvez utiliser une approche plus précise, avec un compte de service pour chaque composant, chacun disposant d'autorisations minimales. Pour en savoir plus sur la configuration des comptes de service pour la gestion des identités de charge de travail, consultez la page Utiliser Workload Identity.

Champs d'application des requêtes et des métriques

Les données que vous pouvez interroger sont déterminées par le champ d'application des métriques Cloud Monitoring, quelle que soit la méthode que vous utilisez pour interroger les données. Par exemple, si vous utilisez Grafana pour interroger les données de Managed Service pour Prometheus, chaque champ d'application des métriques doit être configuré en tant que source de données distincte.

Un champ d'application des métriques Monitoring est une structure en lecture seule qui vous permet d'interroger les données de métriques appartenant à plusieurs projets Google Cloud via un projet Cloud désigné, appelé projet de champ d'application, qui héberge un champ d'application des métriques.

Par défaut, un projet est le projet de champ d'application pour son propre champ d'application des métriques. Le champ d'application des métriques contient les métriques et la configuration de ce projet. Un projet de champ d'application peut avoir plusieurs projets surveillés dans son champ d'application des métriques, et les métriques et les configurations de tous les projets surveillés dans le champ d'application des métriques sont visibles dans le projet de champ d'application. Un projet surveillé peut également appartenir à plusieurs champs d'application des métriques.

Lorsque vous interrogez les métriques d'un projet effectuant une surveillance et si ce projet héberge un champ d'application des métriques multiprojets, vous pouvez extraire les données de plusieurs projets. Si le champ d'application des métriques contient tous vos projets, vos requêtes et règles sont évaluées globalement.

Pour en savoir plus sur les projets de champ d'application et les champs d'application des métriques, consultez la section Champs d'application des métriques. Pour en savoir plus sur la configuration d'un champ d'application de métriques multiprojets, consultez la section Afficher les métriques de plusieurs projets.

Page Managed Service pour Prometheus

Le moyen le plus simple de vérifier que vos données Prometheus sont exportées consiste à utiliser la page Managed Service pour Prometheus basé sur PromQL dans Google Cloud Console.

Pour afficher cette page, procédez comme suit :

  1. Dans Cloud Console, accédez à Monitoring ou cliquez sur le bouton suivant :

    Accéder à Monitoring

  2. Dans le volet de navigation Monitoring, cliquez sur Prometheus géré.

Sur la page Managed Service pour Prometheus, vous pouvez utiliser les requêtes PromQL pour récupérer et représenter sous forme de graphique les données collectées avec le service géré. Cette page ne peut interroger que les données collectées par Managed Service pour Prometheus.

La capture d'écran suivante montre un graphique affichant la métrique up :

Graphique Managed Service pour Prometheus pour la métrique "up" de Prometheus

Interface utilisateur Prometheus

L'interface utilisateur de Prometheus vous permet d'accéder aux données ingérées et de les visualiser. Cette UIr exécute les requêtes PromQL sur toutes les données de votre projet Google Cloud, comme déterminé par le champ d'application des métriques associé à votre projet.

L'UI agit également en tant que proxy d'authentification pour l'accès aux données ingérées. Cette fonctionnalité peut être utilisée pour les outils clients non compatibles avec OAuth2, dont Grafana. Si vous prévoyez d'utiliser Grafana pour visualiser les données de Managed Service pour Prometheus, vous devez également déployer l'interface utilisateur de Prometheus.

Déployer l'interface utilisateur

Pour déployer l'interface utilisateur de Prometheus pour Managed Service pour Prometheus, exécutez les commandes suivantes :

  1. Déployez le service frontend et configurez-le pour interroger le projet de champ d'application du champ d'application des métriques de votre choix :

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/frontend.yaml |
    sed 's/\$PROJECT_ID/PROJECT_ID/' |
    kubectl apply -n gmp-test -f -
    
  2. Transférez le service frontend vers votre ordinateur local. L'exemple suivant transfère le service au port 9090 :

    kubectl -n gmp-test port-forward svc/frontend 9090
    

    Cette commande ne renvoie pas de résultat et signale les accès à l'URL pendant son exécution.

Si vous souhaitez continuer à utiliser un déploiement Grafana installé par kube-prometheus, déployez l'UI de Prometheus dans l'espace de noms monitoring.

Vous pouvez accéder à l'UI Prometheus dans votre navigateur à l'adresse http://localhost:9090. Si vous utilisez Cloud Shell à cette étape, vous pouvez obtenir un accès à l'aide du bouton Aperçu sur le Web.

La capture d'écran suivante montre une table de l'interface utilisateur de Prometheus qui affiche la métrique up :

Afficher une métrique dans l'UI de Prometheus

Vous pouvez également configurer l'authentification et l'autorisation appropriées sur le service frontend en utilisant, par exemple, Identity Aware Proxy. Pour en savoir plus sur l'exposition des services, consultez la page Exposer des applications à l'aide de services.

Fournir des identifiants de manière explicite

Lors de l'exécution sur GKE, l'interface récupère automatiquement les identifiants de l'environnement en fonction du compte de service Compute Engine par défaut ou de la configuration de Workload Identity.

Dans les clusters Kubernetes non GKE, les identifiants doivent être explicitement fournis à l'interface à l'aide d'options ou de la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS.

  1. Créez un compte de service :

    gcloud iam service-accounts create gmp-test-sa
    

    Cette étape crée le compte de service que vous avez peut-être déjà créé dans les instructions de Workload Identity.

  2. Accordez les autorisations requises au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    

  3. Créez et téléchargez une clé pour le compte de service :

    gcloud iam service-accounts keys create gmp-test-sa-key.json \
      --iam-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com
    
  4. Ajoutez le fichier de clé en tant que secret à votre cluster non-GKE :

    kubectl -n gmp-test create secret generic gmp-test-sa \
      --from-file=key.json=gmp-test-sa-key.json
    

  5. Ouvrez la ressource "Déploiement" de l'interface pour la modifier :

    kubectl -n gmp-test edit deploy frontend
    
  6. Ajoutez le texte affiché en gras à la ressource :

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: gmp-test
      name: frontend
    spec:
      template
        containers:
        - name: frontend
          args:
          - --query.credentials-file=/gmp/key.json
    ...
          volumeMounts:
          - name: gmp-sa
            mountPath: /gmp
            readOnly: true
    ...
        volumes:
        - name: gmp-sa
          secret:
            secretName: gmp-test-sa
    ...
    

  7. Enregistrez le fichier et fermez l'éditeur. Une fois la modification appliquée, les pods sont recréés et commencent à s'authentifier auprès du backend de métrique avec le compte de service donné.

Plutôt que d'utiliser les options définies dans cet exemple, vous pouvez définir le chemin d'accès du fichier de clé à l'aide de la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS.

Modifier le projet interrogé

Le déploiement frontend utilise le projet Google Cloud du cluster comme projet de champ d'application. Si ce projet est le projet d'un champ d'application des métriques multiprojets, il peut lire les métriques de tous les projets dans le champ d'application des métriques.

Vous pouvez spécifier un autre projet à l'aide de l'option --query.project-id.

En règle générale, vous utilisez un projet dédié en tant que projet de champ d'application. Ce projet n'est pas le même que celui dans lequel le déploiement frontend s'exécute. Pour permettre au déploiement de lire un autre projet cible, vous devez procéder comme suit :

  • Indiquez au déploiement frontend quel projet est le projet cible.
  • Accordez au compte de service l'autorisation de lire le projet cible. Si vous avez utilisé le compte de service Compute Engine default, vous pouvez effectuer l'une des opérations suivantes :

Pour accorder les autorisations nécessaires pour accéder à un autre projet Cloud, procédez comme suit :

  1. Accordez au compte de service l'autorisation de lire à partir du projet cible que vous souhaitez interroger :

    gcloud projects add-iam-policy-binding SCOPING_PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    
  2. Ouvrez le déploiement frontend créé précédemment pour le modifier :

    kubectl -n gmp-test edit deploy frontend
    
  3. Spécifiez le projet cible à l'aide de l'option --query.project-id :

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: gmp-test
      name: frontend
    spec:
      template
        containers:
        - name: frontend
          args:
          - --query.project-id=SCOPING_PROJECT_ID
    ...
    

    Enregistrez le fichier et fermez l'éditeur. Une fois la modification appliquée, les pods frontend sont redémarrés et interrogent le nouveau projet de champ d'application.

Grafana

Le service géré pour Prometheus utilise la source de données Prometheus intégrée pour Grafana, ce qui signifie que vous pouvez continuer à utiliser n'importe quel tableau de bord Grafana créé par la communauté ou personnel sans aucune modification.

S'authentifier sur les API Google Cloud

Les API Google Cloud nécessitent toutes une authentification via OAuth2. Toutefois, Grafana n'est pas compatible avec l'authentification OAuth2 pour les sources de données Prometheus. Pour utiliser Grafana avec le service géré pour Prometheus, vous devez utiliser l'interface utilisateur de Prometheus en tant que proxy d'authentification.

Si vous n'avez pas encore déployé le service frontend de l'interface utilisateur Prometheus, déployez-le maintenant en exécutant la commande suivante :

curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/frontend.yaml |
sed 's/\$PROJECT_ID/PROJECT_ID/' |
kubectl apply -n gmp-test -f -

Pour savoir comment configurer le champ d'application des métriques utilisé par ce service afin d'interroger plusieurs projets, consultez la section Modifier le projet interrogé.

Si vous disposez d'un déploiement Grafana préexistant, tel que celui installé par la bibliothèque kube-prometheus ou un déploiement utilisant un chart Helm, vous pouvez continuer à l'utiliser avec le service géré pour Prometheus. Si tel est le cas, consultez la page Configurer une source de données pour les étapes suivantes. Sinon, vous devez d'abord déployer Grafana.

Déployer Grafana

Si vous n'avez pas de déploiement Grafana en cours d'exécution sur votre cluster, vous pouvez créer un déploiement test éphémère.

Pour créer un déploiement Grafana éphémère, appliquez le fichier manifeste de Managed Service pour Prometheus grafana.yaml à votre cluster et transférez le service grafana vers votre ordinateur local. L'exemple suivant transfère le service au port 3000.

  1. Appliquez le fichier manifeste grafana.yaml :

    kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/grafana.yaml
    
  2. Transférez le service frontend vers votre ordinateur local. Cet exemple transfère le service vers le port 9090 :

    kubectl -n gmp-test port-forward svc/grafana 3000
    

    Cette commande ne renvoie pas de résultat et signale les accès à l'URL pendant son exécution.

    Vous pouvez accéder à Grafana dans votre navigateur à l'adresse http://localhost:3000 avec le nom d'utilisateur et le mode de passe admin:admin. Si vous utilisez Cloud Shell à cette étape, vous pouvez obtenir un accès à l'aide du bouton Aperçu sur le Web.

Configurer une source de données

Pour interroger Managed Service pour Prometheus dans Grafana en utilisant l'interface utilisateur Prometheus comme proxy d'authentification, vous devez ajouter une source de données à Grafana. Pour ajouter une source de données pour le service géré, procédez comme suit :

  1. Accédez à votre déploiement Grafana, par exemple en recherchant l'URL http://localhost:3000 pour accéder à la page d'accueil de Grafana.

  2. Dans le menu principal de Grafana, sélectionnez Configuration, puis Data Sources (Sources de données).

    Ajout d'une source de données dans Grafana

  3. Sélectionnez Add data source (Ajouter une source de données), puis sélectionnez Prometheus comme base de données de séries temporelles.

    Ajout d'une source de données Prometheus

  4. Dans le champ URL du volet HTTP, saisissez l'URL du service géré pour le service frontend de Prometheus. Si vous avez configuré l'interface utilisateur Prometheus pour qu'elle s'exécute sur le port 9090, l'URL du service pour ce champ est http://frontend.gmp-test.svc:9090.

    Dans le champ Timeout (Délai avant expiration) du volet HTTP, définissez la valeur sur 120.

    Dans le champ Query timeout (Délai avant expiration de la requête), définissez la valeur sur 2m.

    Dans le champ Méthode HTTP, sélectionnez GET.

    Si vous disposez de plusieurs sources de données Prometheus, vous pouvez leur attribuer un nom tel que "Managed Prometheus Service". Vous pouvez conserver les valeurs par défaut dans les autres champs.

    Configuration d'une source de données pour Managed Service pour Prometheus.

  5. Cliquez sur Test and Save (Tester et enregistrer), puis recherchez le message "Data source is working".

    Tester la source de données Managed Service pour Prometheus

Utiliser la nouvelle source de données

Vous pouvez maintenant créer des tableaux de bord Grafana en utilisant la nouvelle source de données. Vous pouvez également rediriger les tableaux de bord existants vers la nouvelle source de données. La capture d'écran suivante montre un graphique Grafana qui affiche la métrique up :

Graphique Grafana pour la métrique "Up" de Managed Service pour Prometheus.

Données Managed Service pour Prometheus dans Cloud Monitoring

Managed Service pour Prometheus partage le backend de stockage de données, Monarch, avec Cloud Monitoring. Vous pouvez utiliser tous les outils fournis par Cloud Monitoring avec les données collectées par Managed Service pour Prometheus. Par exemple, vous pouvez utiliser l'Explorateur de métriques, comme décrit dans la console pour Monitoring. Vous pouvez également ajouter des alertes en fonction de ces métriques.

Lorsque vous travaillez avec des données Managed Service pour Prometheus dans Cloud Monitoring, vous utilisez les outils de requête fournis par Cloud Monitoring :

L'interface utilisateur de Cloud Monitoring n'est pas compatible avec PromQL, sauf sur la page Service géré pour Prometheus.

Ressource prometheus_target

Dans Cloud Monitoring, les données de séries temporelles sont écrites par rapport à un type de ressource surveillée. Pour les métriques Prometheus, le type de ressource surveillée est prometheus_target. Ce type de ressource doit spécifier les requêtes de surveillance des données Managed Service pour Prometheus.

La ressource prometheus_target possède les libellés suivants, que vous pouvez utiliser pour filtrer et manipuler les données interrogées :

  • project_id : identifiant du projet Google Cloud associé à cette ressource.
  • location : emplacement physique (région Google Cloud) dans lequel les données sont stockées. Cette valeur correspond généralement à la région de votre cluster GKE ou de votre instance Compute Engine. Si les données sont collectées à partir d'un déploiement AWS ou sur site, la valeur peut être la région Google Cloud la plus proche.
  • cluster : cluster GKE ou concept associé ; peut être vide.
  • namespace : espace de noms GKE ou concept associ ; peut être vide.
  • job : libellé de la tâche de la cible Prometheus, si elle est connue. Il peut être vide pour les résultats d'évaluation de règles.
  • instance : libellé d'instance de la cible Prometheus, si elle est connue. Il peut être vide pour les résultats d'évaluation de règles.

Les valeurs de ces libellés sont définies lors de la collecte.

Console pour Cloud Monitoring

Pour afficher les données Managed Service pour Prometheus en tant que séries temporelles Cloud Monitoring, vous pouvez utiliser l'explorateur de métriques. Pour configurer l'explorateur de métriques afin d'afficher les métriques, procédez comme suit :

  1. Dans Cloud Console, accédez à Monitoring ou cliquez sur le bouton suivant :

    Accéder à Monitoring

  2. Dans le volet de navigation "Surveillance", cliquez sur  Explorateur de métriques.

  3. Spécifiez les données que vous souhaitez faire apparaître dans le graphique. Vous pouvez utiliser l'onglet MQL ou l'onglet Configuration.

    • Pour utiliser l'onglet MQL, procédez comme suit :

      1. Sélectionnez l'onglet MQL.

      2. Saisissez la requête suivante :

        fetch prometheus_target::prometheus.googleapis.com/up/gauge
        
      3. Cliquez sur Exécuter la requête (Run Query).

    • Pour utiliser l'onglet Configuration, procédez comme suit :

      1. Accédez à l'onglet Configuration.

      2. Dans le champ Resource type (Type de ressource), saisissez "prometheus" pour filtrer la liste, puis sélectionnez Prometheus Target (Cible Prometheus).

      3. Dans le champ Metric (Métrique), saisissez "up/" pour filtrer la liste, puis sélectionnez prometheus/up/gauge.

La capture d'écran suivante montre le graphique de l'explorateur de métriques dans l'onglet MQL qui affiche la métrique up :

Graphique de l'explorateur de métriques pour la métrique "up" de Managed Service pour Prometheus

API HTTP Prometheus

Managed Service pour Prometheus est compatible avec l'API HTTP Prometheus en amont à l'URL précédée du préfixe https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/. Pour en savoir plus sur les points de terminaison compatibles, consultez la section Compatibilité de l'API.

Cette API est accessible par n'importe quel outil pouvant interagir avec un serveur Prometheus standard. Il s'agit d'un point de terminaison d'API uniquement. il ne livre pas d'UI. En tant qu'API Google Cloud, l'API utilise l'authentification OAuth2. Dans le cadre de l'API Cloud Monitoring, la valeur de PROJECT_ID correspond au projet de champ d'application d'un champ d'application des métriques. Vous pouvez donc extraire des données de projet dans le champ d'application des métriques. Pour en savoir plus sur les champs d'application, consultez la section Champs d'application des métriques.

Pour utiliser ce point de terminaison, fournissez une expression PromQL. Par exemple, la requête instantanée suivante récupère toutes les séries temporelles portant le nom de métrique up :

curl https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/query \
  -d "query=up" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)"

Si la requête aboutit, elle renvoie un résultat semblable à celui-ci, qui a été formaté pour faciliter la lecture :

{
  "status":"success",
  "data":{
    "resultType":"vector",
    "result":[{
      "metric": {
        "__name__":"up",
        "cluster":"gmp-test",
        "instance":"prom-example-84c6f547f5-g4ljn:web",
        "job":"prometheus",
        "location":"us-central1-a",
        "project_id":"a-gcp-project"
      },
      "value": [1634873239.971,"1"]
    }]
  }
}

Pour en savoir plus sur l'interrogation des métriques système Google Cloud à l'aide de PromQL, consultez la page PromQL pour les métriques Cloud Monitoring.

Compatibilité avec les API

Les points de terminaison de l'API HTTP Prometheus suivants sont compatibles avec Managed Service pour Prometheus sous l'URL précédée du préfixe https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/.

  • Les points de terminaison suivants sont entièrement compatibles :

    • /api/v1/query
    • /api/v1/query_range
    • /api/v1/metadata
    • /api/v1/labels

    Pour plus d'informations sur la compatibilité PromQL, consultez la page Compatibilité de PromQL.

  • Le point de terminaison /api/v1/$label/values n'accepte que le libellé __name__. Cette limitation entraîne l'échec des requêtes de variables label_values($label) dans Grafana. Vous pouvez utiliser label_values($metric, $label) à la place. Ce type de requête est recommandé, car il évite de récupérer des valeurs de libellés sur les métriques qui ne sont pas pertinentes pour le tableau de bord donné.

  • Le point de terminaison /api/v1/series est compatible avec les requêtes GET, mais pas POST. Lorsque vous utilisez le proxy d'interface, le proxy gère cette restriction automatiquement. Vous pouvez également configurer vos sources de données Prometheus dans Grafana pour n'émettre que des requêtes GET.