4.4. 사용자 지정 애플리케이션을 위해 클러스터 외부에서 메트릭에 액세스
자체 서비스를 모니터링할 때 명령줄에서 Prometheus 통계를 쿼리하는 방법을 알아봅니다. thanos-querier
경로를 사용하여 클러스터 외부의 모니터링 데이터에 액세스할 수 있습니다.
사전 요구 사항
- 사용자 정의 프로젝트 모니터링 활성화에 따라 자체 서비스를 배포했습니다.
프로세스
Prometheus에 연결할 토큰을 추출합니다.
$ SECRET=`oc get secret -n openshift-user-workload-monitoring | grep prometheus-user-workload-token | head -n 1 | awk '{print $1 }'`
$ TOKEN=`echo $(oc get secret $SECRET -n openshift-user-workload-monitoring -o json | jq -r '.data.token') | base64 -d`
경로 호스트를 추출합니다.
$ THANOS_QUERIER_HOST=`oc get route thanos-querier -n openshift-monitoring -o json | jq -r '.spec.host'`
명령줄에서 자체 서비스의 메트릭을 쿼리합니다. 예를 들면 다음과 같습니다.
$ NAMESPACE=ns1
$ curl -X GET -kG "https://$THANOS_QUERIER_HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}" -H "Authorization: Bearer $TOKEN"
출력에 애플리케이션 pod가 가동된 기간이 표시됩니다.
출력 예
{"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"]}]}}