1.2. 모니터링 스택 이해

OpenShift Container Platform 모니터링 스택은 Prometheus 오픈 소스 프로젝트 및 광범위한 에코시스템을 기반으로 합니다. 모니터링 스택에는 다음이 포함됩니다.

  • 기본 플랫폼 모니터링 구성 요소입니다. OpenShift Container Platform을 설치하는 동안 기본적으로 플랫폼 모니터링 구성 요소가 openshift-monitoring 프로젝트에 설치됩니다. 이를 통해 Kubernetes 서비스를 포함한 주요 OpenShift Container Platform 구성 요소 모니터링이 제공됩니다. 기본 모니터링 스택은 클러스터에 대한 원격 상태 모니터링도 가능합니다. 이러한 구성 요소는 다음 다이어그램의 기본적으로 설치됨 섹션에 설명되어 있습니다.
  • 사용자 정의 프로젝트를 모니터링하기 위한 구성 요소입니다. 선택적으로 사용자 정의 프로젝트에 대한 모니터링을 활성화하면 openshift-user-workload-monitoring 프로젝트에 추가 모니터링 구성 요소가 설치됩니다. 이는 사용자 정의 프로젝트에 대한 모니터링을 제공합니다. 이러한 구성 요소는 다음 다이어그램의 사용자 섹션에 설명되어 있습니다.

OpenShift Container Platform monitoring architecture

1.2.1. 기본 모니터링 구성 요소

기본적으로 OpenShift Container Platform 4.12 모니터링 스택에는 다음과 같은 구성 요소가 포함되어 있습니다.

표 1.1. 기본 모니터링 스택 구성 요소

구성 요소설명

Cluster Monitoring Operator

CMO(Cluster Monitoring Operator)는 모니터링 스택의 핵심 구성 요소입니다. Prometheus 및 Alertmanager 인스턴스, Thanos Querier, Telemeter Client 및 지표 대상을 배포, 관리 및 자동으로 업데이트합니다. CMO는 CVO(Cluster Version Operator)에 의해 배포됩니다.

Prometheus Operator

openshift-monitoring 프로젝트의 PO(Prometheus Operator)는 플랫폼 Prometheus 인스턴스 및 Alertmanager 인스턴스를 생성, 구성 및 관리합니다. 또한 Kubernetes 라벨 쿼리를 기반으로 모니터링 대상 구성을 자동으로 생성합니다.

Prometheus

Prometheus는 OpenShift Container Platform 모니터링 스택을 기반으로 하는 모니터링 시스템입니다. Prometheus는 시계열 데이터베이스이며 메트릭에 대한 규칙 평가 엔진입니다. Prometheus는 처리를 위해 Alertmanager에 경고를 보냅니다.

Prometheus Adapter

Prometheus Adapter(이전 다이어그램의PA)는 Kubernetes 및 Pod 쿼리를 Prometheus에서 사용합니다. 변환된 리소스 메트릭에는 CPU 및 메모리 사용량 메트릭이 포함됩니다. Prometheus Adapter는 수평 Pod 자동 스케일링을 위해 클러스터 리소스 메트릭 API를 노출합니다. Prometheus Adapter는 oc adm top nodeoc adm top pods 명령에서도 사용합니다.

Alertmanager

Alertmanager 서비스는 Prometheus에서 수신한 경고를 처리합니다. 또한 Alertmanager는 경고를 외부 알림 시스템으로 전송해야 합니다.

kube-state-metrics 에이전트

이전 다이어그램의 kube-state-metrics 내보내기 에이전트(이전 다이어그램의 KSM)는 Kubernetes 오브젝트를 Prometheus가 사용할 수 있는 메트릭으로 변환합니다.

openshift-state-metrics 에이전트

openshift-state-metrics 내보내기(이전 다이어그램의 OSM)는 OpenShift Container Platform 특정 리소스에 대한 메트릭을 추가하여 kube-state-metrics에 기반하여 확장됩니다.

node-exporter 에이전트

node-exporter 에이전트(이전 다이어그램의 NE)는 클러스터의 모든 노드에 대한 메트릭을 수집합니다. node-exporter 에이전트는 모든 노드에 배포됩니다.

Thanos Querier

Thanos Querier는 단일 다중 테넌트 인터페이스에서 핵심 OpenShift Container Platform 메트릭과 사용자 정의 프로젝트에 대한 메트릭을 집계하고 선택적으로 중복을 제거합니다.

Telemeter Client

Telemeter Client는 플랫폼 Prometheus 인스턴스에서 Red Hat으로 데이터의 하위 섹션을 보내 클러스터의 원격 상태 모니터링을 용이하게 합니다.

모니터링 스택의 모든 구성 요소는 스택에서 모니터링되며 OpenShift Container Platform 업데이트 시 자동으로 업데이트됩니다.

참고

모니터링 스택의 모든 구성 요소는 클러스터 관리자가 중앙에서 구성하는 TLS 보안 프로필 설정을 사용합니다. TLS 보안 설정을 사용하는 모니터링 스택 구성 요소를 구성하는 경우 구성 요소는 글로벌 OpenShift Container Platform apiservers.config.openshift.io/cluster 리소스의 tlsSecurityProfile 필드에 이미 존재하는 TLS 보안 프로필 설정을 사용합니다.

1.2.2. 기본 모니터링 대상

스택 자체의 구성 요소 외에도 기본 모니터링 스택은 다음을 모니터링합니다.

  • CoreDNS
  • Elasticsearch(로깅이 설치된 경우)
  • etcd
  • Fluentd(로깅이 설치된 경우)
  • HAProxy
  • 이미지 레지스트리
  • Kubelets
  • Kubernetes API 서버
  • Kubernetes 컨트롤러 관리자
  • Kubernetes 스케줄러
  • OpenShift API 서버
  • OpenShift Controller Manager
  • OLM(Operator Lifecycle Manager)
  • 벡터(로깅이 설치된 경우)
참고

각 OpenShift Container Platform 구성 요소는 모니터링 구성을 담당합니다. OpenShift Container Platform 구성 요소 모니터링에 문제가 발생하면 일반 모니터링 구성 요소에 대한 것이 아니라 해당 구성 요소에 대해 Jira 문제를 엽니다.

다른 OpenShift Container Platform 프레임워크 구성 요소도 메트릭을 노출할 수 있습니다. 자세한 내용은 해당 문서를 참조하십시오.

1.2.3. 사용자 정의 프로젝트를 모니터링하기 위한 구성 요소

OpenShift Container Platform 4.12에는 사용자 정의 프로젝트에서 서비스 및 Pod를 모니터링할 수 있는 모니터링 스택에 선택적 기능이 포함되어 있습니다. 이 기능에는 다음과 같은 구성 요소가 포함됩니다.

표 1.2. 사용자 정의 프로젝트를 모니터링하기 위한 구성 요소

구성 요소설명

Prometheus Operator

openshift-user-workload-monitoring 프로젝트의 PO(Prometheus Operator)는 동일한 프로젝트에서 Prometheus 및 Thanos Ruler 인스턴스를 생성, 구성 및 관리합니다.

Prometheus

Prometheus는 사용자 정의 프로젝트에 대한 모니터링이 제공되는 모니터링 시스템입니다. Prometheus는 처리를 위해 Alertmanager에 경고를 보냅니다.

Thanos Ruler

Thanos Ruler는 별도의 프로세스로 배포되는 Prometheus의 규칙 평가 엔진입니다. OpenShift Container Platform 4.12에서 Thanos Ruler는 사용자 정의 프로젝트 모니터링에 대한 규칙 및 경고 평가를 제공합니다.

Alertmanager

Alertmanager 서비스는 Prometheus 및 Thanos Ruler에서 수신한 경고를 처리합니다. 또한 Alertmanager는 사용자 정의 경고를 외부 알림 시스템으로 전송합니다. 이 서비스 배포는 선택 사항입니다.

참고

이전 표의 구성 요소는 사용자 정의 프로젝트에 대한 모니터링이 활성화된 후 배포됩니다.

모니터링 스택의 모든 구성 요소는 스택에서 모니터링되며 OpenShift Container Platform 업데이트 시 자동으로 업데이트됩니다.

1.2.4. 사용자 정의 프로젝트의 대상 모니터링

사용자 정의 프로젝트에 대한 모니터링이 활성화된 경우 다음을 모니터링할 수 있습니다.

  • 사용자 정의 프로젝트에서 서비스 끝점을 통해 제공되는 메트릭입니다.
  • 사용자 정의 프로젝트에서 실행 중인 Pod.