[AWS] CloudWatch Agent를 사용하여 EC2 메모리 사용량 모니터링 하기

YEZI·2022년 2월 3일

AWS

목록 보기
1/1

CloudWatch를 통해 EC2를 쉽게 모니터링할 수 있지만 메모리 사용량은 기본적으로 제공되지 않습니다.
EC2 인스턴스에 CloudWatch Agent를 설치하면 더욱 다양한 지표를 수집할 수 있습니다. 이 글은 EC2에 CloudWatch Agent를 설치하여 EC2 메모리 사용량을 모니터링 하는 방법을 소개합니다. 순서는 다음과 같습니다.

  1. IAM 역할 생성
  2. EC2에 IAM 역할 부여
  3. EC2에 CloudWatch Agent 설치
  4. CloudWatch Agent로 메모리 사용량 모니터링

IAM 역할 생성

IAM>역할 에서 역할만들기 선택 후 아래의 EC2를 선택합니다.

정책 필터에서 CloudWatchAgentServerPolicy 검색 후 선택합니다.

역할 이름 작성 후 역할 만들기를 클릭해 역할 생성을 완료합니다.

EC2에 IAM 역할 부여하기

IAM 역할을 부여할 EC2를 선택 후, 작업>보안>IAM 역할 수정을 선택합니다.

만들었던 역할을 선택 후 저장합니다.

EC2에 CloudWatch Agent 설치

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html

EC2 서버에 접속 후
1. CloudWatch 에이전트 패키지를 다운로드
sudo yum install amazon-cloudwatch-agent
2. 에이전트 구성파일 생성 (마법사 파일 실행)
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
마법사가 실행되면 계속 enter를 눌러 default choice를 선택합니다. 아래 항목만 2를 선택합니다.

Do you want to specify any additional log files to monitor?
1. yes
2. no

3. CloudWatch Agent 실행

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s


** CloudWatch Agent 실행 시 types.db 없다는 에러


types.db 파일을 만들어 위 에러를 해결할 수 있습니다.
sudo mkdir /usr/share/collectd
sudo touch /usr/share/collectd/types.db

types.db 파일 생성 후 3번 명령어로 CloudWatch Agent를 다시 실행하면 실행이 완료됩니다. 다음 명령어로 상태를 확인해보면 running 중인 것을 확인할 수 있습니다.
sudo amazon-cloudwatch-agent-ctl -m ec2 -a status

CloudWatch Agent로 메모리 사용량 모니터링

CloudWatch > 지표 > 모든지표를 선택해 들어가면 Custom namespaces에 CWAgent가 생성되어있는 것을 볼 수 있습니다.

CWAgent를 클릭해 들어가면 EC2의 메모리 사용량을 볼 수 있습니다.👏👏👏

0개의 댓글