라벨이 CloudWatch Agent인 게시물 표시

EC2 메모리 사용률 모니터링: CloudWatch Agent 없이는 RAM이 안 보이는 이유

EC2 인스턴스를 운영하다 보면 CloudWatch 콘솔에서 CPU는 보이는데 메모리가 없다는 걸 처음 마주치는 순간이 있다. 알람을 걸려고 했더니 지표 자체가 없고, 인스턴스가 OOM으로 죽었는데 CloudWatch에는 아무 흔적이 없다. EC2 메모리 사용률 은 기본 CloudWatch 지표에 포함되지 않으며, 이를 수집하려면 CloudWatch Agent를 직접 설치해야 한다. TL;DR — EC2 메모리 모니터링 핵심 요약 항목 기본 CloudWatch CloudWatch Agent 설치 후 CPU 사용률 ✅ 자동 수집 ✅ 자동 수집 네트워크 I/O ✅ 자동 수집 ✅ 자동 수집 디스크 I/O (EBS 바이트) ✅ 자동 수집 ✅ 자동 수집 메모리 사용률 (RAM) ❌ 수집 불가 ✅ 수집 가능 디스크 공간 사용률 (파일시스템) ❌ 수집 불가 ✅ 수집 가능 프로세스별 메모리 ❌ 수집 불가 ✅ 수집 가능 (procstat 플러그인) 왜 EC2 메모리 사용률은 기본으로 보이지 않는가 CloudWatch가 기본으로 수집하는 지표는 AWS 하이퍼바이저 계층에서 관측 가능한 것들이다. CPU 사이클, 네트워크 패킷, EBS I/O 바이트 — 이것들은 인스턴스 외부에서 측정할 수 있다. 반면 OS 내부의 메모리 할당 상태, 파일시스템 사용량, 프로세스 목록은 게스트 OS 안에서만 볼 수 있다. AWS는 EC2 인스턴스 내부 OS에 직접 접근하지 않는다. 이건 보안 모델의 일부이기도 하고, 공유 책임 모델(Shared Responsibility Model)의 경계이기도 하다. 게스트 OS 레이어는 고객 책임 영역이고, AWS는 그 안을 들여다보지 않는다. 결과적으로 메모리 사용률을 수집하려면 인스턴스 안에서 직접 데이터를 밀어내는 에이전트가 필요하다. EBS 디스크 I/O 바이트는 하이퍼바이...