8장. 모니터링 문제 조사


사용자 정의 프로젝트의 일반적인 모니터링 문제에 대한 문제 해결 단계를 확인하십시오.

8.1. 사용자 정의 프로젝트 메트릭을 사용할 수 없는 이유 확인

사용자 정의 프로젝트를 모니터링할 때 메트릭이 표시되지 않는 경우 다음 단계에 따라 문제를 해결합니다.

절차

  1. 메트릭 이름을 쿼리하고 프로젝트가 올바른지 확인합니다.

    1. OpenShift Container Platform 웹 콘솔의 개발자 관점에서 모니터링 메트릭 선택합니다.
    2. Project: 목록에서 메트릭을 보려는 프로젝트를 선택합니다.
    3. 쿼리 선택 목록에서 쿼리를 선택하거나 PromQL 표시를 선택하여 사용자 정의 PromQL 쿼리를 실행합니다.

      쿼리 선택 창에 지표 이름이 표시됩니다.

      쿼리는 프로젝트별로 수행해야 합니다. 표시된 메트릭은 선택한 프로젝트와 관련이 있습니다.

  2. 메트릭을 원하는 Pod가 적극적으로 메트릭을 제공하고 있는지 확인합니다. Pod로 다음 oc exec 명령을 실행하여 podIP,포트, /metrics 를 대상으로 합니다.

    $ oc exec <sample_pod> -n <sample_namespace> -- curl <target_pod_IP>:<port>/metrics
    참고

    curl 이 설치된 포드에서 명령을 실행해야 합니다.

    다음 예제 출력에서는 유효한 버전 지표가 있는 결과를 보여줍니다.

    출력 예

      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    # HELP version Version information about this binary-- --:--:-- --:--:--     0
    # TYPE version gauge
    version{version="v0.1.0"} 1
    100   102  100   102    0     0  51000      0 --:--:-- --:--:-- --:--:-- 51000

    유효하지 않은 출력은 해당 애플리케이션에 문제가 있음을 나타냅니다.

  3. PodMonitor CRD를 사용하는 경우 라벨 일치를 사용하여 PodMonitor CRD가 올바른 Pod를 가리키도록 구성되어 있는지 확인합니다. 자세한 내용은 Prometheus Operator 설명서를 참조하십시오.
  4. ServiceMonitor CRD를 사용하고 Pod의 /metrics 끝점에 지표 데이터가 표시되는 경우 다음 단계에 따라 구성을 확인합니다.

    1. 서비스가 올바른 /metrics 엔드포인트를 가리키는지 확인합니다. 이 출력의 서비스 레이블 은 서비스 모니터 레이블 과 후속 단계의 서비스에서 정의한 /metrics 엔드포인트와 일치해야 합니다.

      $ oc get service

      출력 예

      apiVersion: v1
      kind: Service 1
      metadata:
        labels: 2
          app: prometheus-example-app
        name: prometheus-example-app
        namespace: ns1
      spec:
        ports:
        - port: 8080
          protocol: TCP
          targetPort: 8080
          name: web
        selector:
          app: prometheus-example-app
        type: ClusterIP

      1
      이 API를 서비스 API라고 지정합니다.
      2
      이 서비스에 사용되는 레이블을 지정합니다.
    2. serviceIP,port, /metrics 엔드포인트를 쿼리하여 이전에 실행한 curl 명령의 동일한 메트릭을 확인합니다.

      1. 다음 명령을 실행하여 서비스 IP를 찾습니다.

        $ oc get service -n <target_namespace>
      2. /metrics 엔드포인트를 쿼리합니다.

        $ oc exec <sample_pod> -n <sample_namespace> -- curl <service_IP>:<port>/metrics

        다음 예제에서 유효한 메트릭이 반환됩니다.

        출력 예

        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
        100   102  100   102    0     0  51000      0 --:--:-- --:--:-- --:--:--   99k
        # HELP version Version information about this binary
        # TYPE version gauge
        version{version="v0.1.0"} 1

    3. 레이블 일치를 사용하여 ServiceMonitor 오브젝트가 원하는 서비스를 가리키도록 구성되어 있는지 확인합니다. 이렇게 하려면 oc get service 출력의 Service 오브젝트를 oc get service monitor 출력의 ServiceMonitor 오브젝트와 비교합니다. 표시할 메트릭과 일치해야 하는 레이블입니다.

      예를 들어 이전 단계에서 Service 오브젝트에 app: prometheus-example-app 레이블이 있고 ServiceMonitor 오브젝트에 동일한 app: prometheus-example-app 일치 라벨이 있는지 확인하십시오.

  5. 모든 항목이 유효한 것으로 확인되고 메트릭을 계속 사용할 수 없는 경우 지원 팀에 문의하여 추가 지원을 받으십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.