OTel Container Insights(권장)
OTel Container Insights는 Amazon EKS 클러스터에서 Container Insights를 활성화하는 데 권장되는 접근 방식입니다. OpenTelemetry를 기반으로 구축되었으며 간소화된 배포 모델과 진행 중인 활성 개발을 통해 지표 및 로그에서 포괄적인 관찰성을 제공합니다.
OTel Container Insights와 Enhanced Container Insights(Classic) 모두 동일한 amazon-cloudwatch-observability Amazon EKS 추가 기능을 사용합니다. 차이점은 다른 제품이 아닌 추가 기능 버전과 구성입니다. OTel Container Insights는 해당 추가 기능의 적극적으로 개발된 새로운 구성입니다.
이러한 접근 방식은 다음과 같은 사용 사례를 위해 설계되었습니다.
-
클러스터 관찰성을 위한 최상의 지원 경로를 원하는 신규 Amazon EKS 고객
-
단일 최신 원격 측정 파이프라인에 통합하려는 기존 고객
-
CloudWatch와의 기본 통합을 원하는 OpenTelemetry를 채택하는 팀
주요 이점
OTel Container Insights는 다음과 같은 이점을 제공합니다.
-
간소화된 설정 - 콘솔, AWS CLI, 또는 CloudFormation을 통해 몇 분 안에 전체 관찰성 활성화
-
포괄적인 신호 - 단일 에이전트 배포에서 지표 및 로그 수집
-
향상된 관찰성 - 자세한 Kubernetes 지표, 포드 수준 인사이트 및 상관관계가 있는 신호에 액세스
-
활성 개발 - 새로운 기능, 성능 개선 및 확장된 신호 범위를 지속적으로 수신
-
OpenTelemetry 네이티브 - 업계 표준 관찰성 프레임워크에 따라 OpenTelemetry Collector를 기반으로 구축됨
이 접근 방식이 권장되는 이유
OTel Container Insights는 가장 간단한 배포 모델로 가장 광범위한 신호 범위(지표 및 로그)를 제공하므로 다른 Container Insights 접근 방식보다 권장됩니다. 다른 접근 방식은 유지 관리 전용 모드이거나 더 복잡한 수동 구성이 필요합니다.
다음 표에서는 OTel Container Insights를 Enhanced Container Insights(Classic)와 비교합니다.
| 고려 사항 | OTel Container Insights | Enhanced Container Insights(Classic) |
|---|---|---|
| 신호 | 지표, 로그 | 지표, 로그 |
| 향상된 관찰성 | 예 | 예 |
| 유지 관리 상태 | 활성 개발 | 유지 관리 |
| 배포 복잡성 | 낮음 | 낮음 |
지표 소스 및 수신기
OTel Container Insights는 오픈 소스 수신기에서 지표를 수집하고 OpenTelemetry 시맨틱 규칙을 사용하여 지표를 자동으로 보강합니다. 독점 지표 이름을 사용하는 Enhanced Container Insights(Classic)와 달리, OTel Container Insights는 각 소스의 원래 지표 이름을 유지합니다. 이를 통해 기존 PromQL 대시보드 및 커뮤니티 설명서와 호환됩니다.
OTel Container Insights는 30초 단위로 OpenTelemetry Protocol(OTLP)을 사용하여 여러 수신기에서 오픈 소스 지표를 수집합니다. 지표는 CloudWatch 형식 이름이 아닌 원래 소스 이름(예: container_cpu_usage_seconds_total cAdvisor)을 사용하며 PromQL을 통해 쿼리할 수 있습니다.
다음 표에는 사용 가능한 수신기와 해당 사전 조건이 나와 있습니다.
| 수신기 | 수집 대상 | 사전 조건 |
|---|---|---|
| cAdvisor | 컨테이너 CPU, 메모리, 네트워크, 디스크/파일 시스템 지표 | kubelet에 내장 - 추가 설정 없음 |
| Prometheus 익스포터 | 노드 수준 CPU, 메모리, 디스크, 파일 시스템, 네트워크, 시스템, VMStat, netstat/socket 지표 | 추가 기능에 포함됨 |
| Kube State Metrics | 포드, 노드, 배포, DaemonSet, StatefulSet, ReplicaSet, 작업, CronJob, 서비스, 네임스페이스, PV, PVC 지표 | 추가 기능에 포함됨 |
| Kubernetes API 서버 | API 서버 및 etcd 지표 | 컨트롤 플레인에서 사용 가능 |
| NVIDIA DCGM | GPU 사용률, 메모리, 전력/열, 스로틀링, 오류/신뢰성, NVLink 지표 | NVIDIA 디바이스 플러그인 및 컨테이너 툴킷 필요 |
| AWS Neuron Monitor | NeuronCore, NeuronDevice 및 Neuron 시스템 지표 | Neuron 드라이버 및 디바이스 플러그인 필요 |
| AWS Elastic Fabric Adapter | EFA 네트워킹 지표 | EFA 디바이스 플러그인 필요 |
| NVMe | NVMe SMART 상태 지표 | 추가 설정 없음 |
각 지표는 다음 3가지 소스에서 최대 150개의 레이블로 보강됩니다.
-
원격 측정 소스 네이티브 레이블 - 원래 수신기에서(예: cAdvisor에서
pod,namespace,container) -
OpenTelemetry 리소스 속성 - Kubernetes, 호스트 및 클라우드에 대한 OTel 의미 체계 규칙 준수
-
Kubernetes 포드 및 노드 레이블 -
k8s.pod.label.*및k8s.node.label.*접두사가 붙은 Kubernetes API의 모든 레이블
이중 게시 및 마이그레이션
OTel Container Insights는 기본적으로 비활성화되어 있습니다. 활성화하려면 추가 기능 구성에서 otelContainerInsights.enabled를 true로 설정합니다.
추가 기능 버전 v6.2.0부터 추가 기능은 Enhanced Container Insights(Classic)와 OTel Container Insights를 통해 동시에 지표 게시를 지원합니다. 이를 통해 완전히 마이그레이션하기 전에 새 지표 파이프라인을 검증할 수 있습니다.
Enhanced Container Insights(Classic)와 함께 OTel Container Insights를 활성화하려면 다음 명령을 실행합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}'
OTel Container Insights를 비활성화하고 Enhanced Container Insights(Classic)만 유지하려면 다음 명령을 실행합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":false}}'
Enhanced Container Insights(Classic)를 비활성화하고 OTel Container Insights만 유지하려면 다음 명령을 실행합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}'
시작하기
다음 주제를 사용하여 Amazon EKS 클러스터에서 OTel Container Insights를 설정하고 구성합니다.
주제
-
빠른 시작: Amazon EKS의 OTel Container Insights - 가장 빠른 설정 경로를 사용하여 OTel Container Insights를 시작합니다.
-
콘솔에서 OTel Container Insights 활성화 - AWS 관리 콘솔을 통해 OTel Container Insights를 활성화합니다.
-
헬름을 사용하여 OTel Container Insights 배포 - 유연하고 GitOps 친화적인 관리를 위해 헬름 차트를 사용하여 OTel Container Insights를 배포합니다.
-
CloudFormation을 사용하여 OTel Container Insights 배포 - CloudFormation 템플릿을 사용하여 OTel Container Insights를 배포합니다.
-
Amazon CloudWatch로 로그 전송 - Amazon EKS 클러스터에 대한 로그 수집을 구성합니다.
-
Amazon EKS의 OTel Container Insights에 대한 고급 구성 - 사용자 환경에 맞게 OTel Container Insights를 사용자 지정하고 미세 조정합니다.