12.4. 사용자 지정 애플리케이션을 위해 클러스터 외부에서 메트릭에 액세스
사용자 정의 프로젝트를 사용하여 자체 서비스를 모니터링할 때 클러스터 외부에서 Prometheus 지표를 쿼리할 수 있습니다. thanos-querier
경로를 사용하여 클러스터 외부에서 이 데이터에 액세스합니다.
이 액세스는 인증에 전달자 토큰만 사용할 수 있습니다.
사전 요구 사항
- "사용자 정의 프로젝트에 대한 모니터링 활성화" 절차에 따라 자체 서비스를 배포했습니다.
-
Thanos Querier API에 액세스할 수 있는 권한을 제공하는
cluster-monitoring-view
클러스터 역할을 사용하여 계정에 로그인되어 있습니다. Thanos Querier API 경로를 가져올 수 있는 권한이 있는 계정에 로그인되어 있습니다.
참고Thanos Querier API 경로를 가져올 수 있는 권한이 계정에 없는 경우 클러스터 관리자가 경로에 URL을 제공할 수 있습니다.
절차
다음 명령을 실행하여 Prometheus에 연결할 인증 토큰을 추출합니다.
$ TOKEN=$(oc whoami -t)
다음 명령을 실행하여
thanos-querier
API 경로 URL을 추출합니다.$ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.spec.host})
다음 명령을 사용하여 네임스페이스를 서비스가 실행 중인 네임스페이스로 설정합니다.
$ NAMESPACE=ns1
다음 명령을 실행하여 명령줄에서 자체 서비스의 메트릭을 쿼리합니다.
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
출력에는 Prometheus가 스크랩하는 각 애플리케이션 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"]}]}}