2024. 10. 27. 14:03ㆍAWS/CloudWatch
안녕하세요!
Onezero 입니다 :)
- CloudWatch Agent란?
- Cloudwatch에서 기본으로 제공하는 모니터링 외에 추가로 메모리, 디스크 사용량 등 더 많은 지표들을 수집하려면 Cloudwatch Agent를 설치해야 됩니다. CloudWatch Agent를 사용하면 추가비용은 발생됩니다.
- CloudWatch Agnet 설치는 아래와 같습니다.
- IAM Role 생성
- EC2 서버에 IAM Role 연결
- EC2 서버에 CloudWatch Agent 설치
- 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 결과 화면입니다.