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

자체 서비스를 모니터링할 때 명령줄에서 Prometheus 통계를 쿼리하는 방법을 알아봅니다. thanos-querier 경로를 사용하여 클러스터 외부의 모니터링 데이터에 액세스할 수 있습니다.

사전 요구 사항

  • 사용자 정의 프로젝트 모니터링 활성화에 따라 자체 서비스를 배포했습니다.

프로세스

  1. 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`
  2. 경로 호스트를 추출합니다.

    $ THANOS_QUERIER_HOST=`oc get route thanos-querier -n openshift-monitoring -o json | jq -r '.spec.host'`
  3. 명령줄에서 자체 서비스의 메트릭을 쿼리합니다. 예를 들면 다음과 같습니다.

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