6.4. 사용자 지정 애플리케이션을 위해 클러스터 외부에서 메트릭에 액세스

사용자 정의 프로젝트를 사용하여 자체 서비스를 모니터링할 때 클러스터 외부에서 Prometheus 지표를 쿼리할 수 있습니다. thanos-querier 경로를 사용하여 클러스터 외부에서 이 데이터에 액세스합니다.

이 액세스는 인증에 Bearer 토큰만 사용할 수 있습니다.

사전 요구 사항

  • "사용자 정의 프로젝트에 대한 모니터링 활성화" 절차에 따라 자체 서비스를 배포했습니다.
  • Thanos Querier API에 액세스할 수 있는 권한을 제공하는 cluster-monitoring-view 클러스터 역할을 사용하여 계정에 로그인되어 있습니다.
  • Thanos Querier API 경로를 가져올 수 있는 권한이 있는 계정에 로그인되어 있습니다.

    참고

    Thanos Querier API 경로를 가져올 수 있는 권한이 계정에 없는 경우 클러스터 관리자가 경로에 URL을 제공할 수 있습니다.

절차

  1. 다음 명령을 실행하여 Prometheus에 연결할 인증 토큰을 추출합니다.

    $ TOKEN=$(oc whoami -t)
  2. 다음 명령을 실행하여 thanos-querier API 경로 URL을 추출합니다.

    $ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.spec.host})
  3. 다음 명령을 사용하여 네임스페이스를 서비스가 실행 중인 네임스페이스로 설정합니다.

    $ NAMESPACE=ns1
  4. 다음 명령을 실행하여 명령줄에서 자체 서비스의 메트릭을 쿼리합니다.

    $ 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"]}]}}