View a markdown version of this page

Amazon EKS의 OpenTelemetry 지표가 포함된 Container Insights - Amazon CloudWatch

Amazon EKS의 OpenTelemetry 지표가 포함된 Container Insights

미리 보기

OpenTelemetry 지표가 포함된 Container Insights를 통해 Amazon EKS 클러스터 인프라의 운영 상태를 파악할 수 있습니다. 미국 동부(버지니아 북부), 미국 서부(오리건), 유럽(아일랜드), 아시아 태평양(싱가포르), 아시아 태평양(시드니) 리전에서 추가 비용 없이 공개 미리 보기로 제공됩니다.

Amazon CloudWatch Observability EKS 추가 기능은 Amazon EKS 클러스터에서 오픈 소스 지표를 수집하고 30초 단위로 OTLP(OpenTelemetry Protocol)를 사용하여 CloudWatch로 전송합니다. 이러한 지표는 cAdvisor, Prometheus Node Exporter, NVIDIA DCGM, Kube State Metrics, AWS Neuron Monitor를 포함한 원본 소스의 지표 이름을 사용합니다. CloudWatch Query Studio의 PromQL을 사용하거나 Prometheus 호환 쿼리 API를 통해 이러한 지표를 쿼리할 수 있습니다.

각 지표는 OpenTelemetry 시맨틱 규칙 속성과 Kubernetes 포드 및 노드 레이블을 포함하여 최대 150개의 레이블로 자동 보강됩니다. PromQL은 쿼리 시간에 집계를 처리하므로 각 지표는 여러 집계 수준이 아닌 리소스당 한 번만 게시됩니다. 또한 추가 기능은 AWS Neuron 및 AWS Elastic Fabric Adapter의 액셀러레이터 지표를 이를 사용하는 특정 포드 및 컨테이너와 연관시켜 지표 소스만으로는 제공되지 않는 가시성을 제공합니다.

Amazon EKS 클러스터에서 OTel Container Insights를 활성화하려면 Amazon EKS 콘솔 또는 코드형 인프라를 통해 Amazon CloudWatch Observability EKS 추가 기능 v6.0.1-eksbuild.1 이상 버전을 설치합니다.

OTel Container Insights 설정에 대한 자세한 내용은 Container Insights 설정 섹션을 참조하세요.

PromQL을 통한 이러한 지표의 쿼리에 대한 자세한 내용은 PromQL 쿼리 섹션을 참조하세요.

OTel Container Insights와 Container Insights(기능 향상) 비교

다음 표에서는 Container Insights(기능 향상)와 OTel Container Insights의 차이점이 요약되어 있습니다.

기능 Container Insights(기능 향상) OTel Container Insights
지표 이름 CloudWatch 형식 지표(예: pod_cpu_utilization) 오픈 소스 네이티브(예: container_cpu_usage_seconds_total)
지표당 레이블 지표당 사전 정의된 차원 3~6개 모든 Kubernetes 포드 및 노드 레이블을 포함하여 최대 150개 레이블
집계 여러 수준(클러스터, 네임스페이스, 워크로드, 포드)에서 사전 집계 원시 리소스별 지표, PromQL을 사용하여 쿼리 시간에 집계
쿼리 언어 CloudWatch Metrics API PromQL(Prometheus 호환)
지표 수집 CloudWatch Logs(EMF 형식) OTLP 엔드포인트

지표의 레이블 지정 방법

OTel Container Insights에서 수집되는 각 지표에는 세 가지 소스의 레이블이 있습니다.

텔레메트리 소스 네이티브 레이블

원본 지표 소스의 레이블(예: cAdvisor는 pod, namespace, container 등의 레이블 제공). 이러한 레이블은 데이터 포인트 속성으로 보존됩니다.

OpenTelemetry 리소스 속성

추가 기능은 Kubernetes, 호스트클라우드에 대한 OpenTelemetry 시맨틱 규칙에 따라 리소스 속성을 추가합니다(예: k8s.pod.name, k8s.namespace.name, k8s.node.name, host.name, cloud.region). 이러한 속성은 모든 지표 소스에서 일관적입니다.

Kubernetes 포드 및 노드 레이블

Kubernetes API에서 검색된 모든 포드 레이블과 노드 레이블은 접두사 k8s.pod.labelk8s.node.label와 함께 리소스 속성으로 추가됩니다.

PromQL을 사용하여 이러한 속성을 쿼리하는 방법에 대한 자세한 내용은 PromQL 쿼리 섹션을 참조하세요.

지원되는 지표

다음 표에는 OTel Container Insights에서 수집되는 지표 소스 및 범주가 나열되어 있습니다.

지표 소스 지표 범주 사전 조건
cAdvisor CPU 지표 -
cAdvisor 메모리 지표 -
cAdvisor 네트워크 지표 -
cAdvisor 디스크 및 파일 시스템 지표 -
Prometheus 익스포터 CPU 지표 -
Prometheus 익스포터 메모리 지표 -
Prometheus 익스포터 디스크 지표 -
Prometheus 익스포터 파일 시스템 지표 -
Prometheus 익스포터 네트워크 지표 -
Prometheus 익스포터 시스템 지표 -
Prometheus 익스포터 VMStat 지표 -
Prometheus 익스포터 Netstat 및 소켓 지표 -
NVIDIA DCGM GPU 사용률 및 성능 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU 메모리 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU 전력 및 열 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU 스로틀링 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU 오류 및 신뢰성 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU NVLink 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
NVIDIA DCGM GPU 정보 지표 NVIDIA 디바이스 플러그인NVIDIA 컨테이너 툴킷을 설치해야 합니다.
AWS Neuron Monitor NeuronCore 지표 Neuron 드라이버Neuron 디바이스 플러그인을 설치해야 합니다.
AWS Neuron Monitor NeuronDevice 지표 Neuron 드라이버Neuron 디바이스 플러그인을 설치해야 합니다.
AWS Neuron Monitor Neuron 시스템 지표 Neuron 드라이버Neuron 디바이스 플러그인을 설치해야 합니다.
AWS Elastic Fabric Adapter EFA 지표 EFA 디바이스 플러그인을 설치해야 합니다.
NVMe NVMe SMART 지표 -
Kube State Metrics Pod, node, Deployment, DaemonSet, StatefulSet, ReplicaSet, Job, CronJob, Service, Namespace, PersistentVolume, PersistentVolumeClaim 지표 -
Kubernetes API 서버 API 서버 및 etcd 지표 -