CloudWatch 지표

AWS 모니터링 및 문제 해결

John Q. Martin

Principal Consultant

CloudWatch 지표의 구조

 

네임스페이스, 이름, 차원, 타임스탬프, 단위를 보여주는 CloudWatch 지표 데이터 포인트 다이어그램

AWS 모니터링 및 문제 해결

표준 vs. 사용자 지정 지표

표준

  • AWS 서비스에서 자동으로 게시
  • EC2: 무료 5분 간격, 세부 모니터링 시 1분 간격
  • 예시: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

사용자 지정

  • 페이지 로드, 주문, 캐시 적중률 등 무엇이든 측정
  • 네임스페이스, 차원, 단위, 해상도를 완전히 제어
  • 네임스페이스·이름·차원 조합마다 과금
AWS 모니터링 및 문제 해결

지표 해상도

1초에서 5분까지의 CloudWatch 지표 해상도 비교

  • 운영 환경은 1분 간격, 개발/테스트 환경은 5분 간격
  • 꼭 필요한 경우에만 1초 간격
  • 표준: 자동이며 무료이지만 공백 존재
  • 사용자 지정: 완전한 제어, 지표당 비용 발생
AWS 모니터링 및 문제 해결

사용자 지정 지표 게시

지표 게시를 위한 AWS CLI 아이콘

  • 빠른 테스트용 put-metric-data CLI

REST API를 사용해 사용자 지정 지표를 게시하는 아이콘

  • 직접 통합을 위한 HTTP POST 기반 REST API

지표 게시를 위한 Amazon SDK 아이콘

  • Amazon SDK

CloudWatch 통합 에이전트를 나타내는 아이콘

  • CloudWatch 통합 에이전트
AWS 모니터링 및 문제 해결

CLI로 게시하기

   


aws cloudwatch put-metric-data \
  --namespace "Pipeline/DeployDb" \
  --metric-name "stepDuration" \
  --dimensions Name=Pipeline,Value=ProdApp01 \
  --value 42 \
  --unit "Seconds"

 

지표 게시를 위한 AWS CLI 아이콘

  • CLI를 호출할 수 있는 모든 대상 계측
  • 차원 활용
AWS 모니터링 및 문제 해결

SDK로 게시하기

  Amazon CloudWatch SDK를 사용해 사용자 지정 지표를 게시하는 C# 코드 예시

 

지표 게시를 위한 Amazon SDK 아이콘

  • C#, Java, Go, Rust 등 다양한 언어용 SDK
  • 애플리케이션 코드에서 지표 게시
  • 차원으로 애플리케이션 구성 요소별 지표 구분
AWS 모니터링 및 문제 해결

통합 에이전트

지표와 수집 간격을 정의하는 CloudWatch 통합 에이전트 JSON 설정 파일

CloudWatch 통합 에이전트를 나타내는 아이콘

  • OS 수준의 지표와 로그 수집
  • EC2 인스턴스 또는 컨테이너에서 실행
  • JSON 설정으로 수집 대상 지정
  • 지표별 수집 간격 조정
AWS 모니터링 및 문제 해결

임베디드 지표 형식(EMF)

{
  "_aws": {
    "CloudWatchMetrics": [{
      "Namespace": "MyApp",
      "Dimensions": [["functionName"]],
      "Metrics": [{"Name": "latency", "Unit": "Milliseconds"}]
    }]
  },
  "functionName": "checkout",
  "latency": 56
}

 

  • 로그에 구조화된 JSON 형식으로 지표 기록
  • CloudWatch가 자동으로 지표 추출
  • Lambda와 컨테이너에 적합, 추가 API 호출 불필요
  • 한 번의 기록으로 지표와 로그 생성
AWS 모니터링 및 문제 해결

지표 스트림

 

  • 외부 대상으로 데이터를 지속적으로 내보내기
  • S3 또는 New Relic, Datadog 같은 파트너
  • CloudWatch만 사용할 때보다 풍부한 분석 가능
  • 하이브리드 클라우드를 위한 단일 통합 뷰

외부 대상으로 데이터를 내보내는 CloudWatch 지표 스트림 개요 다이어그램

AWS 모니터링 및 문제 해결

Amazon S3로 스트리밍

CloudWatch에서 Kinesis Data Firehose를 거쳐 S3 버킷으로 스트리밍되는 지표 다이어그램

AWS 모니터링 및 문제 해결

파트너 솔루션으로 스트리밍

Kinesis Firehose를 거쳐 파트너 솔루션 엔드포인트로 스트리밍되고 S3에 백업되는 지표 다이어그램

AWS 모니터링 및 문제 해결

요약

지표와 사용자 지정 지표

  • 워크로드 속성 측정
  • 자체 애플리케이션을 위한 사용자 지정 지표
  • 차원 활용

 

탐지를 위한 해상도

  • 세분성이 중요
  • 무료 vs. 유료
  • 서비스에 따라 다름

사용자 지정 지표 게시

  • 프로세스와 애플리케이션 계측
  • 분류를 위한 차원
  • API보다 SDK 또는 CLI 사용

 

지표 스트림

  • S3 또는 파트너 솔루션
  • 사용자 지정 분석
  • 단일 통합 뷰
AWS 모니터링 및 문제 해결

연습해 봅시다!

AWS 모니터링 및 문제 해결

Preparing Video For Download...