9.3. Interroger les métriques en utilisant le point de terminaison de la fédération pour Prometheus
Il est possible d’utiliser le point final de la fédération pour Prometheus pour gratter la plate-forme et les métriques définies par l’utilisateur à partir d’un emplacement réseau en dehors du cluster. À cette fin, accédez au point d’extrémité Prometheus /federate pour le cluster via une route OpenShift dédiée.
Le retard dans la récupération des données métriques se produit lorsque vous utilisez la fédération. Ce retard peut affecter l’exactitude et la rapidité des mesures grattées.
L’utilisation du point de terminaison de la fédération peut également dégrader les performances et l’évolutivité de votre cluster, surtout si vous utilisez le point de terminaison de la fédération pour récupérer de grandes quantités de données métriques. Afin d’éviter ces problèmes, suivez ces recommandations:
- Il ne faut pas essayer de récupérer toutes les données métriques via le point final de la fédération pour Prometheus. Interrogez-le uniquement lorsque vous souhaitez récupérer un ensemble de données agrégé et limité. Ainsi, la récupération de moins de 1 000 échantillons pour chaque demande permet de minimiser le risque de dégradation des performances.
- Évitez les requêtes fréquentes du point final de la fédération pour Prometheus. Limitez les requêtes à un maximum d’une toutes les 30 secondes.
Lorsque vous devez transférer de grandes quantités de données en dehors du cluster, utilisez plutôt l’écriture à distance. Consultez la section Configuration de l’écriture à distance pour plus d’informations.
Conditions préalables
- L’OpenShift CLI (oc) a été installé.
En tant qu’utilisateur, vous avez accès au cluster avec le rôle cluster-monitoring-view ou avez obtenu un jeton porteur avec l’autorisation sur la ressource des espaces de noms.
NoteIl est possible d’utiliser uniquement l’authentification des jetons porteurs pour accéder au point de terminaison de la fédération Prometheus.
Connectez-vous à un compte qui a la permission d’obtenir la route de la fédération Prometheus.
NoteDans le cas où votre compte n’a pas la permission d’obtenir l’itinéraire de la fédération Prometheus, un administrateur de cluster peut fournir l’URL de l’itinéraire.
Procédure
Il suffit de récupérer le jeton porteur en exécutant la commande suivante:
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Accédez à l’URL de route de la fédération Prometheus en exécutant la commande suivante:
HOST=$(oc -n openshift-monitoring get route prometheus-k8s-federate -ojsonpath={.status.ingress[].host})
$ HOST=$(oc -n openshift-monitoring get route prometheus-k8s-federate -ojsonpath={.status.ingress[].host})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Interrogez les métriques de la route /federate. L’exemple de commande suivant interroge les métriques:
curl -G -k -H "Authorization: Bearer $TOKEN" https://$HOST/federate --data-urlencode 'match[]=up'
$ curl -G -k -H "Authorization: Bearer $TOKEN" https://$HOST/federate --data-urlencode 'match[]=up'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
TYPE up untyped
# TYPE up untyped up{apiserver="kube-apiserver",endpoint="https",instance="10.0.143.148:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035322214 up{apiserver="kube-apiserver",endpoint="https",instance="10.0.148.166:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035338597 up{apiserver="kube-apiserver",endpoint="https",instance="10.0.173.16:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035343834 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow