

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# Amazon CloudWatch를 사용한 클러스터 데이터 모니터링
<a name="cloudwatch"></a>

Amazon CloudWatch는 클라우드 리소스에서 지표와 로그를 수집하는 모니터링 서비스입니다. CloudWatch는 버전 `1.28` 이상의 새 클러스터를 사용할 때 몇 가지 기본 Amazon EKS 지표를 무료로 제공합니다. 그러나 CloudWatch Observability Operator를 Amazon EKS 추가 기능으로 사용하면 향상된 관찰성 기능을 이용할 수 있습니다.

## Amazon CloudWatch의 기본 지표
<a name="cloudwatch-basic-metrics"></a>

Kubernetes 버전 `1.28` 이상인 클러스터의 경우 `AWS/EKS` 네임스페이스에서 CloudWatch 변환 지표를 무료로 얻을 수 있습니다. 다음 표에는 지원되는 버전에서 사용할 수 있는 기본 지표 목록이 나와 있습니다. 나열된 모든 지표의 빈도는 1분입니다.


| 지표 이름 | 설명 | 
| --- | --- | 
|   `apiserver_flowcontrol_current_executing_seats`   |  API 요청을 실행하는 데 현재 사용 중인 시트 수. 시트 할당은 Kubernetes API 우선순위 및 공정성 [기능](https://kubernetes.io/docs/concepts/cluster-administration/flow-control/)의 priority\$1level 및 flow\$1schema 구성에 의해 결정됩니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_schedule_attempts_total`   |  지정된 기간 동안 스케줄러가 클러스터에서 포드를 예약하려는 총 시도 횟수입니다. 이 지표는 스케줄러의 워크로드를 모니터링하는 데 도움이 되며 예약 압력이나 포드 배치의 잠재적 문제를 나타낼 수 있습니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_schedule_attempts_SCHEDULED`   |  지정된 기간 동안 스케줄러가 클러스터의 노드에 포드를 예약하려는 시도가 성공한 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_schedule_attempts_UNSCHEDULABLE`   |  노드의 CPU나 메모리가 부족한 등 유효한 제약 조건으로 인해 지정된 기간 동안 예약할 수 없었던 포드의 예약 시도 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_schedule_attempts_ERROR`   |  API 서버 연결 문제와 같은 스케줄러 자체의 내부 문제로 인해 지정된 기간 동안 실패한 포드 예약 시도 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_pending_pods`   |  지정된 기간 동안 클러스터에서 스케줄러가 예약할 보류 중인 총 포드 수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_pending_pods_ACTIVEQ`   |  지정된 기간 동안 클러스터에서 예약 대기 중인 activeQ의 보류 중인 포드 수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_pending_pods_UNSCHEDULABLE`   |  스케줄러가 예약을 시도했지만 실패하여 재시도를 위해 예약 불가 상태로 유지되는 보류 중인 포드 수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_pending_pods_BACKOFF`   |  백오프 상태에서 백오프 기간이 만료되기를 기다리는 `backoffQ`의 보류 중인 포드 수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `scheduler_pending_pods_GATED`   |  필요한 조건을 충족할 때까지 예약할 수 없어 비공개 상태에서 현재 대기하고 있는 보류 중인 포드 수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_total`   |  클러스터의 모든 API 서버에서 이루어진 HTTP 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_total_4XX`   |  `4XX`(클라이언트 오류) 상태 코드를 초래한 클러스터의 모든 API 서버에 대한 HTTP 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_total_429`   |  클라이언트가 비율 제한 임곗값을 초과할 때 발생하는 `429` 상태 코드를 초래한 클러스터의 모든 API 서버에 대한 HTTP 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_total_5XX`   |  `5XX`(서버 오류) 상태 코드를 초래한 클러스터의 모든 API 서버에 대한 HTTP 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_total_LIST_PODS`   |  클러스터의 모든 API 서버에 대한 `LIST` 포드 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_request_duration_seconds_PUT_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `PUT` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `PUT` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_request_duration_seconds_PATCH_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `PATCH` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `PATCH` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_request_duration_seconds_POST_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `POST` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `POST` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_request_duration_seconds_GET_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `GET` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `GET` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_request_duration_seconds_LIST_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `LIST` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `LIST` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_request_duration_seconds_DELETE_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 `DELETE` 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 `DELETE` 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_current_inflight_requests_MUTATING`   |  클러스터의 모든 API 서버에서 현재 처리 중인 변경 요청(`POST`, `PUT`, `DELETE`, `PATCH`) 횟수입니다. 이 지표는 진행 중이며 아직 처리가 완료되지 않은 요청을 나타냅니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_current_inflight_requests_READONLY`   |  클러스터의 모든 API 서버에서 현재 처리 중인 읽기 전용 요청(`GET`, `LIST`) 횟수입니다. 이 지표는 진행 중이며 아직 처리가 완료되지 않은 요청을 나타냅니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_request_total`   |  클러스터의 모든 API 서버에서 수행된 승인 웹후크 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_request_total_ADMIT`   |  클러스터의 모든 API 서버에서 수행된 변경 승인 웹후크 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_request_total_VALIDATING`   |  클러스터의 모든 API 서버에서 수행된 승인 웹후크 요청의 검증 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_rejection_count`   |  클러스터의 모든 API 서버에서 거부된 승인 웹후크 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_rejection_count_ADMIT`   |  클러스터의 모든 API 서버에서 거부된 변경 승인 웹후크 요청 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_rejection_count_VALIDATING`   |  거부된 클러스터의 모든 API 서버에서 수행된 승인 웹후크 요청의 검증 횟수입니다.  **단위:** 개  **유효 통계:** Sum  | 
|   `apiserver_admission_webhook_admission_duration_seconds`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 타사 승인 웹후크 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 타사 승인 웹후크 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_admission_webhook_admission_duration_seconds_ADMIT_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 타사 변경 승인 웹후크 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 타사 변경 승인 웹후크 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_admission_webhook_admission_duration_seconds_VALIDATING_P99`   |  클러스터의 모든 API 서버의 모든 요청에서 계산된 타사 검증 승인 웹후크 요청에 대한 지연 시간의 99번째 백분위수입니다. 모든 타사 검증 승인 웹후크 요청의 99%가 완료되는 응답 시간을 나타냅니다.  **단위:** 초  **유효 통계:** Average  | 
|   `apiserver_storage_size_bytes`   |  클러스터의 API 서버에서 사용하는 etcd 스토리지 데이터베이스 파일의 물리적 크기(바이트)입니다. 이 지표는 스토리지에 할당된 실제 디스크 공간을 나타냅니다.  **단위:** 바이트  **유효 통계:** Maximum  | 

## Amazon CloudWatch Observability Operator
<a name="cloudwatch-operator"></a>

Amazon CloudWatch Observability는 실시간 로그, 지표 및 추적 데이터를 수집합니다. 이를 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 및 [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)로 보냅니다. 이 추가 기능을 설치하여 CloudWatch 에이전트를 설치하고 Amazon EKS의 향상된 관찰성을 통해 CloudWatch Application Signals와 CloudWatch Container Insights를 모두 활성화할 수 있습니다. 이를 통해 인프라 및 컨테이너화된 애플리케이션의 상태와 성능을 모니터링할 수 있습니다. Amazon CloudWatch Observability Operator는 필요한 구성 요소를 설치하고 구성하도록 설계되었습니다.

Amazon EKS는 CloudWatch Observability Operator를 [Amazon EKS 추가 기능](eks-add-ons.md)으로 지원합니다. 추가 기능을 사용하면 클러스터의 Linux 및 Windows 워커 노드 모두에서 Container Insights를 사용할 수 있습니다. Windows에서 Container Insights를 활성화하려면 Amazon EKS 추가 기능 버전이 `1.5.0` 이상이어야 합니다. 현재 Amazon EKS Windows에서는 CloudWatch Application Signals가 지원되지 않습니다.

아래 주제에서는 Amazon EKS 클러스터에서 CloudWatch Observability Operator 사용을 시작하는 방법을 설명합니다.
+ 이 추가 기능 설치 지침은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch Observability EKS 추가 기능 또는 헬름 차트를 사용하여 CloudWatch 에이전트 설치](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html)를 참조하세요.
+ CloudWatch Application Signals에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html)를 참조하세요.
+ Container Insights에 대한 자세한 내용은 **Amazon CloudWatch 사용 설명서의 [Container Insights 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) 섹션을 참조하세요.