2장. 메트릭 및 서비스 메시


2.1. 메트릭 사용

모니터링 스택 구성 요소는 기본적으로 모든 OpenShift Container Platform 설치에 배포되며 CCMO(Cluster Monitoring Operator)에서 관리합니다. 이러한 구성 요소에는 Prometheus, Alertmanager, Thanos Querier 등이 포함됩니다. CMO는 플랫폼 Prometheus 인스턴스에서 Red Hat으로 데이터의 하위 집합을 전송하여 클러스터의 원격 상태 모니터링을 용이하게 하는 Telemeter Client도 배포합니다.

메시에 애플리케이션을 추가하면 CPU 및 메모리 사용량, 네트워크 연결 및 기타 리소스 사용에 대한 메트릭 및 사용자 지정 경고를 사용하여 OpenShift Container Platform에서 실행되는 애플리케이션의 클러스터 내 상태 및 성능을 모니터링할 수 있습니다.

2.1.1. Service Mesh를 사용하여 OpenShift 모니터링 구성

Red Hat OpenShift Service Mesh를 사용자 워크로드 모니터링과 통합할 수 있습니다.

사전 요구 사항

프로세스

  1. ServiceMonitor 오브젝트를 적용하여 Istio 컨트롤 플레인을 모니터링합니다.

    ServiceMonitor 오브젝트의 예

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: istiod-monitor
      namespace: istio-system
    spec:
      targetLabels:
      - app
      selector:
        matchLabels:
          istio: pilot
      endpoints:
      - port: http-monitoring
        interval: 30s

  2. PodMonitor 오브젝트를 적용하여 Istio 프록시에서 지표를 수집합니다.

    PodMonitor 오브젝트의 예

    apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: istio-proxies-monitor
      namespace: istio-system 1
    spec:
      selector:
        matchExpressions:
        - key: istio-prometheus-ignore
          operator: DoesNotExist
      podMetricsEndpoints:
      - path: /stats/prometheus
        interval: 30s
        relabelings:
        - action: keep
          sourceLabels: ["__meta_kubernetes_pod_container_name"]
          regex: "istio-proxy"
        - action: keep
          sourceLabels: ["__meta_kubernetes_pod_annotationpresent_prometheus_io_scrape"]
        - action: replace
          regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
          replacement: '[$2]:$1'
          sourceLabels: ["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_ip"]
          targetLabel: "__address__"
        - action: replace
          regex: (\d+);((([0-9]+?)(\.|$)){4})
          replacement: '$2:$1'
          sourceLabels: ["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_ip"]
          targetLabel: "__address__"
        - action: labeldrop
          regex: "__meta_kubernetes_pod_label_(.+)"
        - sourceLabels: ["__meta_kubernetes_namespace"]
          action: replace
          targetLabel: namespace
        - sourceLabels: ["__meta_kubernetes_pod_name"]
          action: replace
          targetLabel: pod_name

    1
    OpenShift Container Platform 모니터링은 ServiceMonitorPodMonitor 오브젝트의 namespaceSelector 사양을 무시하므로 Istio 컨트롤 플레인 네임스페이스를 포함하여 모든 메시 네임스페이스에 PodMonitor 오브젝트를 적용해야 합니다.
  3. OpenShift 콘솔 Observe Metrics 로 이동하여 istio_requests_total 을 실행합니다.
참고

메트릭 구현에는 쿼리에서 결과를 반환하는 데 몇 분이 걸릴 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.