Amazon Web Services

AWS의 CloudWatch를 이용하여 EC2 인스턴스 모니터링하기 (기초 버전)

sstdio.h·2016년 8월 6일·조회 4,151

1. 소개

CloudWatch(클라우드워치)는 AWS의 대표적인 모니터링 서비스입니다. EC2, EBS, RDS, S3 같은 AWS 리소스의 메트릭을 수집하고, 그래프로 확인하거나 알람을 설정하는 데 사용할 수 있습니다.

CloudWatch 아마존 소개 페이지: https://aws.amazon.com/ko/cloudwatch/

AWS 콘솔 메인 화면에서 아래와 같은 CloudWatch 메뉴를 확인할 수 있습니다.

2. 실전

CloudWatch 화면에 들어옵니다.

제가 사용하는 서울 리전에는 당시 90개의 메트릭이 준비되어 있다고 표시됩니다. [Browse Metrics]를 눌러 들어가 보겠습니다.

90개 메트릭 중 EC2 메트릭은 14개입니다. 참고로 EBS가 6개, S3가 2개, 그리고 RDS가 68개입니다. 이 숫자는 계정에서 사용 중인 리소스와 리전, AWS 콘솔의 표시 방식에 따라 달라질 수 있습니다.

위 화면은 EC2 인스턴스의 14개 모니터링 메트릭입니다. 특정 인스턴스에서 원하는 메트릭의 체크박스를 선택하면 바로 모니터링 데이터를 볼 수 있습니다. 물론 여러 메트릭을 동시에 선택해 비교할 수도 있습니다.

아래는 CPUUtilization을 선택한 예입니다.

EC2의 CPU 사용률처럼 기본적으로 수집되는 메트릭은 CloudWatch에서 바로 확인할 수 있습니다. 다만 더 짧은 주기로 수집하려면 EC2의 상세 모니터링을 활성화해야 하며, 이 경우 추가 비용이 발생할 수 있으니 운영 환경에서는 비용도 함께 확인하는 것이 좋습니다.

참고로 RDS 메트릭도 같은 방식으로 확인할 수 있습니다.

3. CLI

콘솔뿐 아니라 AWS CLI로도 CloudWatch 메트릭을 조회할 수 있습니다. 아래 예시는 EC2 인스턴스의 모니터링을 활성화하고, EC2 네임스페이스의 메트릭 목록과 CPU 사용률 데이터를 확인하는 흐름입니다.

3-1. 특정 EC2 모니터링 활성화

aws ec2 monitor-instances --instance-ids i-xxxx

위 명령은 지정한 EC2 인스턴스의 상세 모니터링을 활성화합니다. 실제로 실행할 때는 i-xxxx 부분을 본인의 인스턴스 ID로 바꾸면 됩니다.

3-2. 지표 확인

aws cloudwatch list-metrics --namespace AWS/EC2

AWS/EC2 네임스페이스에 포함된 메트릭 목록을 확인합니다. 특정 인스턴스나 메트릭만 보고 싶다면 이후 단계에서 --metric-name--dimensions를 함께 지정하면 됩니다.

3-3. 데이터 확인

aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --period 3600 \
--statistics Maximum --dimensions Name=InstanceId,Value=i-xxxx \
--start-time 2018-10-03T23:18:00 --end-time 2018-10-04T23:18:00

위 명령은 지정한 기간 동안 해당 EC2 인스턴스의 CPUUtilization 메트릭을 1시간 단위(--period 3600)로 조회하고, 그중 최대값(--statistics Maximum)을 가져옵니다. 테스트할 때는 인스턴스 ID와 조회 시작·종료 시간을 현재 환경에 맞게 수정해야 합니다.

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.