6.4. Accès aux métriques depuis l'extérieur du cluster pour des applications personnalisées
Apprenez à interroger les statistiques Prometheus à partir de la ligne de commande lorsque vous surveillez vos propres services. Vous pouvez accéder aux données de surveillance depuis l'extérieur du cluster grâce à la route thanos-querier
.
Conditions préalables
- Vous avez déployé votre propre service en suivant la procédure Enabling monitoring for user-defined projects.
Procédure
Extraire un jeton pour se connecter à Prometheus :
SECRET=`oc get secret -n openshift-user-workload-monitoring | grep prometheus-user-workload-token | head -n 1 | awk '{print $1 }'`
$ SECRET=`oc get secret -n openshift-user-workload-monitoring | grep prometheus-user-workload-token | head -n 1 | awk '{print $1 }'`
Copy to Clipboard Copied! TOKEN=`echo $(oc get secret $SECRET -n openshift-user-workload-monitoring -o json | jq -r '.data.token') | base64 -d`
$ TOKEN=`echo $(oc get secret $SECRET -n openshift-user-workload-monitoring -o json | jq -r '.data.token') | base64 -d`
Copy to Clipboard Copied! Extrayez votre hôte de route :
THANOS_QUERIER_HOST=`oc get route thanos-querier -n openshift-monitoring -o json | jq -r '.spec.host'`
$ THANOS_QUERIER_HOST=`oc get route thanos-querier -n openshift-monitoring -o json | jq -r '.spec.host'`
Copy to Clipboard Copied! Interrogez les métriques de vos propres services en ligne de commande. Par exemple :
NAMESPACE=ns1
$ NAMESPACE=ns1
Copy to Clipboard Copied! curl -X GET -kG "https://$THANOS_QUERIER_HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}" -H "Authorization: Bearer $TOKEN"
$ curl -X GET -kG "https://$THANOS_QUERIER_HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}" -H "Authorization: Bearer $TOKEN"
Copy to Clipboard Copied! Le résultat vous indiquera la durée pendant laquelle vos pods d'application ont été activés.
Exemple de sortie
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"up","endpoint":"web","instance":"10.129.0.46:8080","job":"prometheus-example-app","namespace":"ns1","pod":"prometheus-example-app-68d47c4fb6-jztp2","service":"prometheus-example-app"},"value":[1591881154.748,"1"]}]}}
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"up","endpoint":"web","instance":"10.129.0.46:8080","job":"prometheus-example-app","namespace":"ns1","pod":"prometheus-example-app-68d47c4fb6-jztp2","service":"prometheus-example-app"},"value":[1591881154.748,"1"]}]}}
Copy to Clipboard Copied!