CloudWatch Dashboard
소개
AWS 계정 내 리소스의 인벤토리 세부 정보, 리소스 성능 및 상태 확인을 파악하는 것은 안정적인 리소스 관리를 위해 매우 중요합니다. Amazon CloudWatch 대시보드는 CloudWatch 콘솔에서 제공하는 사용자 정의 가능한 홈페이지로, 리소스가 교차 계정에 있거나 여러 리전에 분산되어 있더라도 단일 뷰에서 리소스를 모니터링할 수 있습니다.
Amazon CloudWatch 대시보드를 사용하면 재사용 가능한 그래프를 생성하고 클라우드 리소스 및 애플리케이션을 통합된 뷰로 시각화할 수 있습니다. CloudWatch 대시보드를 통해 고객은 메트릭과 로그 데이터를 통합된 뷰에서 나란히 그래프로 표시하여 빠르게 컨텍스트를 파악하고, 문제 진단에서 근본 원인 이해로 전환하며, 평균 복구 시간(MTTR)을 단축할 수 있습니다. 예를 들어, CPU 사용률이나 메모리 같은 핵심 메트릭의 현재 활용도를 시각화하고 할당된 용량과 비교할 수 있습니다. 또한 특정 메트릭의 로그 패턴을 상관시키고 성능 및 운영 이슈에 대한 알람을 설정할 수 있습니다. CloudWatch 대시보드는 알람의 현재 상태를 표시하여 빠르게 시각적으로 확인하고 조치를 취할 수 있도록 도와줍니다. CloudWatch 대시보드 공유 기능을 통해 표시된 대시보드 정보를 조직 내부 또는 외부의 팀이나 이해관계자에게 쉽게 공유할 수 있습니다.
위젯
기본 위젯
위젯은 CloudWatch 대시보드의 구성 요소로서, AWS 환경 내 리소스 및 애플리케이션 메트릭과 로그에 대한 중요한 정보와 거의 실시간에 가까운 세부 정보를 표시합니다. 고객은 요구사항에 따라 위젯을 추가, 제거, 재배치 또는 크기 조정하여 대시보드를 원하는 경험에 맞게 사용자 정의할 수 있습니다.
대시보드에 추가할 수 있는 그래프 유형에는 Line, Number, Gauge, Stacked area, Bar, Pie가 있습니다.
Line, Number, Gauge, Stacked area, Bar, Pie와 같은 Graph 유형의 기본 위젯과 Text, Alarm Status, Logs table, Explorer 같은 다른 위젯도 사용할 수 있으며, 고객은 이를 선택하여 메트릭 또는 로그 데이터를 추가해 대시보드를 구축할 수 있습니다.

추가 참고 자료:
- AWS Observability Workshop: Metric Number Widgets
- AWS Observability Workshop: Text Widgets
- AWS Observability Workshop: Alarm Widgets
- CloudWatch 대시보드에서 위젯 생성 및 사용하기 문서
커스텀 위젯
고객은 CloudWatch 대시보드에 커스텀 위젯을 추가하여 맞춤형 시각화를 경험하거나, 여러 소스의 정보를 표시하거나, CloudWatch Dashboard에서 직접 작업을 수행하는 버튼과 같은 맞춤형 컨트롤을 추가할 수 있습니다. 커스텀 위젯은 Lambda 함수로 구동되는 완전한 서버리스 방식으로, 콘텐츠, 레이아웃 및 상호작용을 완벽하게 제어할 수 있습니다. 커스텀 위젯은 복잡한 웹 프레임워크를 배울 필요 없이 대시보드에 맞춤형 데이터 뷰 또는 도구를 구축하는 간편한 방법입니다. Lambda에서 코드를 작성하고 HTML을 생성할 수 있다면 유용한 커스텀 위젯을 만들 수 있습니다.

추가 참고 자료:
- AWS Observability Workshop: 커스텀 위젯
- GitHub의 CloudWatch Custom Widgets Samples
- 블로그: Amazon CloudWatch 대시보드 커스텀 위젯 사용하기
자동 대시보드
자동 대시보드는 모든 AWS 퍼블릭 리전에서 사용할 수 있으며, Amazon CloudWatch 하위의 모든 AWS 리소스에 대한 상태 및 성능의 집계된 뷰를 제공합니다. 이를 통해 고객은 모니터링을 빠르게 시작 하고, 리소스 기반의 메트릭 및 알람 뷰를 확인하며, 성능 문제의 근본 원인을 쉽게 파악할 수 있습니다. 자동 대시보드는 AWS 서비스에서 권장하는 모범 사례로 사전 구축되어 있으며, 리소스를 인식하고 중요한 성능 메트릭의 최신 상태를 반영하도록 동적으로 업데이트됩니다. 자동 서비스 대시보드는 서비스에 대한 모든 표준 CloudWatch 메트릭을 표시하고, 각 서비스 메트릭에 사용되는 모든 리소스를 그래프로 표시하며, 계정 전체에서 이상치 리소스를 빠르게 식별하여 활용도가 높거나 낮은 리소스를 파악하고 비용을 최적화하는 데 도움을 줍니다.

추가 참고 자료:
- AWS Observability Workshop: 자동 대시보드
- YouTube: Amazon CloudWatch 대시보드를 사용한 AWS 리소스 모니터링
자동 대시보드의 Container Insights
CloudWatch Container Insights는 컨테이너화된 애플리케이션 및 마이크로서비스에서 메트릭과 로그를 수집, 집계 및 요약합니다. Container Insights는 Amazon Elastic Container Service(Amazon ECS), Amazon Elastic Kubernetes Service(Amazon EKS) 및 Amazon EC2 기반 Kubernetes 플랫폼에서 사용할 수 있습니다. Container Insights는 Amazon ECS와 Amazon EKS 모두에서 Fargate에 배포된 클러스터의 메트릭 수집을 지원합니다. CloudWatch는 CPU, 메모리, 디스크, 네트워크 등 많은 리소스에 대한 메트릭을 자동으로 수집하며, 컨테이너 재시작 실패와 같은 진단 정보도 제공하여 문제를 격리하고 빠르게 해결할 수 있도록 도와줍니다.
CloudWatch는 embedded metric format을 사용하는 성능 로그 이벤트인 CloudWatch 메트릭으로서 클러스터, 노드, Pod, 태스크 및 서비스 수준의 집계된 메트릭을 생성합니다. 이는 대규모로 높은 카디널리티 데이터를 수집하고 저장할 수 있는 구조화된 JSON 스키마를 사용합니다. Container Insights가 수집하는 메트릭은 CloudWatch 자동 대시보드에서 확인할 수 있으며, CloudWatch 콘솔의 Metrics 섹션에서도 볼 수 있습니다.

자동 대시보드의 Lambda Insights
CloudWatch Lambda Insights는 AWS Lambda와 같은 서버리스 애플리케이션을 위한 모니터링 및 문제 해결 솔루션으로, Lambda 함수에 대한 동적 자동 대시보드를 생성합니다. 또한 CPU 시간, 메모리, 디스크, 네트워크를 포함한 시스템 수준 메트릭과 cold start 및 Lambda 워커 종료와 같은 진단 정보를 수집, 집계 및 요약하여 Lambda 함수의 문제를 격리하고 빠르게 해결할 수 있도록 도와줍니다. Lambda Insights는 함수 수준에서 레이어로 제공되는 Lambda 확장으로, 활성화되면 embedded metric format을 사용하여 로그 이벤트에서 메트릭을 추출하며 별도의 에이전트가 필요하지 않습니다.

커스텀 대시보드
고객은 원하는 만큼 추가적인 커스텀 대시보드를 다양한 위젯으로 생성하고 그에 맞게 사용자 정의할 수 있습니다. 대시보드는 교차 리전 및 교차 계정 뷰로 구성할 수 있으며, 즐겨찾기 목록에 추가할 수 있습니다.

고객은 자동 또는 커스텀 대시보드를 CloudWatch 콘솔의 즐겨찾기 목록에 추가하여 콘솔 페이지의 탐색 창에서 빠르고 쉽게 접근할 수 있습니다.
추가 참고 자료:
- AWS Observability Workshop: CloudWatch 대시보드
- AWS Well-Architected Labs: CloudWatch 대시보드를 사용한 모니터링 (성능 효율성)
CloudWatch 대시보드에 Contributor Insights 추가하기
CloudWatch는 Contributor Insights를 제공하여 로그 데이터를 분석하고 기여자 데이터를 표시하는 시계열을 생성합니다. 여기서 상위 N명의 기여자, 고유 기여자의 총 수 및 사용량에 대한 메트릭을 확인할 수 있습니다. 이를 통해 최다 트래픽 발생자를 찾고 시스템 성능에 영향을 미치는 요인을 파악할 수 있습니다. 예를 들어, 문제가 있는 호스트를 찾거나, 가장 많은 네트워크를 사용하는 사용자를 식별하거나, 가장 많은 오류를 발생시키는 URL을 찾을 수 있습니다.
Contributor Insights 보고서는 CloudWatch 콘솔의 새로운 대시보드 또는 기존 대시보드에 추가할 수 있습니다.

CloudWatch 대시보드에 Application Insights 추가하기
CloudWatch Application Insights는 AWS에 호스팅된 애플리케이션과 기본 AWS 리소스에 대한 Observability를 용이하게 하며, 이를 통해 제공되는 애플리케이션 상 태에 대한 향상된 가시성은 애플리케이션 문제를 해결하기 위한 평균 복구 시간(MTTR)을 단축하는 데 도움을 줍니다. Application Insights는 모니터링되는 애플리케이션의 잠재적 문제를 보여주는 자동화된 대시보드를 제공하여, 고객이 애플리케이션 및 인프라의 진행 중인 문제를 빠르게 격리할 수 있도록 도와줍니다.
아래와 같이 Application Insights 내의 'Export to CloudWatch' 옵션을 사용하면 CloudWatch 콘솔에 대시보드가 추가되어 고객이 핵심 애플리케이션의 인사이트를 쉽게 모니터링할 수 있습니다.

CloudWatch 대시보드에 Service Map 추가하기
CloudWatch ServiceLens는 트레이스, 메트릭, 로그, 알람 및 기타 리소스 상태 정보를 한 곳에 통합하여 서비스와 애플리케이션의 Observability를 향상시킵니다. ServiceLens는 CloudWatch와 AWS X-Ray를 통합하여 애플리케이션의 엔드투엔드 뷰를 제공함으로써 고객이 성능 병목 현상을 더 효율적으로 파악하고 영향을 받는 사용자를 식별할 수 있도록 합니다. 서비스 맵은 서비스 엔드포인트와 리소스를 노드로 표시하고, 각 노드와 연결의 트래픽, 지연 시간 및 오류를 강조합니다. 표시된 각 노드는 해당 서비스 부분과 관련된 상관 메트릭, 로그 및 트레이스에 대한 상세한 인사이트를 제공합니다.
아래와 같이 Service Map 내의 'Add to dashboard' 옵션을 사용하면 CloudWatch 콘솔에 새 대시보드를 추가하거나 기존 대시보드에 추가하여 고객이 애플리케이션의 인사이트를 쉽게 추적할 수 있습니다.

CloudWatch 대시보드에 Metrics Explorer 추가하기
CloudWatch의 Metrics Explorer는 태그 기반 도구로, 고객이 태그와 리소스 속성별로 메트릭을 필터링, 집계 및 시각화하여 AWS 서비스의 Observability를 향상시킬 수 있습니다. Metrics Explorer는 유연하고 동적인 문제 해결 경험을 제공하므로, 고객은 한 번에 여러 그래프를 생성하고 이러한 그래프를 사용하여 애플리케이션 상태 대시보드를 구축할 수 있습니다. Metrics Explorer 시각화는 동적이므로, Metrics Explorer 위젯을 생성하여 CloudWatch 대시보드에 추가한 후 일치하는 리소스가 생성되면 새 리소스가 Explorer 위젯에 자동으로 표시됩니다.
아래와 같이 Metrics Explorer 내의 'Add to dashboard' 옵션을 사용하면 CloudWatch 콘솔에 새 대시보드를 추가하거나 기존 대시보드에 추가하여 고객이 AWS 서비스 및 리소스에 대한 더 많은 그래프 인사이트를 쉽게 얻을 수 있습니다.

CloudWatch 대시보드를 사용한 시각화 대상
고객은 리전과 계정 전체에서 워크로드와 애플리케이션을 모니터링하기 위해 계정 및 애플리케이션 수준의 대시보드를 생성할 수 있습니다. CloudWatch 자동 대시보드는 서비스별 메트릭으로 사전 구성된 AWS 서비스 수준 대시보드로, 빠르게 시작할 수 있습니다. 프로덕션 환경에서 애플리케이션 또는 워크로드와 관련되고 중요한 핵심 메트릭과 리소스에 초점을 맞춘 애플리케이션 및 워크로드별 대시보드를 생성하는 것이 권장됩니다.