9.4. Accéder aux métriques de l’extérieur du cluster pour des applications personnalisées
Lors de la surveillance de vos propres services avec des projets définis par l’utilisateur, vous pouvez interroger les métriques Prometheus à partir de l’extérieur du cluster. Accédez à ces données de l’extérieur du cluster en utilisant la route thanos-querier.
Cet accès ne prend en charge que l’utilisation d’un jeton porteur pour l’authentification.
Conditions préalables
- Dans le cadre de la procédure « Activer la surveillance des projets définis par l’utilisateur », vous avez déployé votre propre service.
- Il est connecté à un compte avec le rôle cluster-monitoring-view, qui donne l’autorisation d’accéder à l’API Thanos Querier.
Connectez-vous à un compte qui a la permission d’obtenir l’itinéraire de l’API Thanos Querier.
NoteDans le cas où votre compte n’a pas la permission d’obtenir l’itinéraire de l’API Thanos Querier, un administrateur de cluster peut fournir l’URL de l’itinéraire.
Procédure
Extraire un jeton d’authentification pour se connecter à Prometheus en exécutant la commande suivante:
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Extrayez l’URL route de l’API thanos-querier en exécutant la commande suivante:
HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.status.ingress[].host})
$ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.status.ingress[].host})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez l’espace de noms sur l’espace de noms dans lequel votre service s’exécute à l’aide de la commande suivante:
NAMESPACE=ns1
$ NAMESPACE=ns1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Interrogez les métriques de vos propres services dans la ligne de commande en exécutant la commande suivante:
curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La sortie montre l’état de chaque pod d’application que Prometheus gratte:
La sortie de l’exemple formaté
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note- La sortie d’exemple formatée utilise un outil de filtrage, tel que jq, pour fournir le JSON indenté formaté. Consultez le manuel jq (documentation jq) pour plus d’informations sur l’utilisation de jq.
- La commande demande un point de terminaison de requête instantanée du service Thanos Querier, qui évalue les sélecteurs à un moment donné.