[AWS] CloudWatch Agent 설치

2024. 10. 27. 14:03AWS/CloudWatch

안녕하세요!

Onezero 입니다 :)


  • CloudWatch Agent란?
    • Cloudwatch에서 기본으로 제공하는 모니터링 외에 추가로 메모리, 디스크 사용량 등 더 많은 지표들을 수집하려면 Cloudwatch Agent를 설치해야 됩니다. CloudWatch Agent를 사용하면 추가비용은 발생됩니다.
  • CloudWatch Agnet 설치는 아래와 같습니다.
    1. IAM Role 생성
    2. EC2 서버에 IAM Role 연결
    3. EC2 서버에 CloudWatch Agent 설치
    4. CloudWatch Agent로 MEM 사용량 확인

(1) IAM Role 생성

EC2에서 CloudWatch Agent의 지표들을 수집할 수 있도록 Role를 생성합니다.

 

IAM > Roles > Create role 클릭

- Step 1. AWS Service > Use Case : EC2 > Next 클릭

 

- Step 2. "CloudWatchAgentServerPolicy" 정책을 검색 후 추가

 

- Step 3. Role 이름 지정한 후에 아래 "Create role" 버튼 클릭

 

- Role 생성 완료


(2) EC2 서버에 IAM Role 연결

CloudWatch 모니터링 항목에 생성되도록 EC2에 생성한 Role을 연결해줍니다.

 

- EC2 선택 > Action > Security > Modify IAM role 클릭 

 

- 위에서 만들었던 Role을 선택하고, Update IAM role을 선택합니다. 


(3) EC2 서버에 CloudWatch Agent 설치

- EC2에 접속하여, 아래의 명령어로 CloudWatch Agent를 설치합니다.

sudo yum- y install amazon-cloudwatch-agent

 

- 파일이 설치가 완료되면, 아래 명령어로 설치된 마법사 파일을 찾습니다.

sudo find / -name amazon-cloudwatch-agent-config-wizard

 

- 해당 파일로 가서, 마법사를 실행합니다.

cd /opt/aws/amazon-cloudwatch-agent/bin/

sudo ./amazon-cloudwatch-agent-config-wizard

 

- 실행 후 설정 값은 아래 캡쳐 화면과 같습니다. (설정 값은 본인 환경에 맞게 선택합니다.)

 

- 아래 명령어를 통해 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


(4) CloudWatch Agent로 메모리 사용량 확인

CloudWatch Console로 가서 EC2의 메모리를 확인해보겠습니다.

- CloudWatch > Dashboards > Create dashboard 클릭 > Dashboard 이름 설정 > widget은 아래와 같이 설정 후 Next를 클릭합니다. 

 

- CWAgent가 조금 전 EC2에 설치한 CloudWatch Agent 입니다.

  해당 Namespace를 클릭합니다.

 

- CWAgent > "ImageId, InstanceId, InstanceType" 클릭합니다.
  (Metric name : mem_used_percent가 메모리 사용률)

 

- Dashboard 결과 화면입니다.