CloudWatch로 EC2인스턴스에 대한 기본적인 지표들(CPU, 네트워크I/O, 디스크 R/W 등)은 확인 가능하지만, Memory, 디스크 사용량은 기본적으로 제공하지 않음. 이 지표들은 OS내에서만 확인이 가능한데, AWS에서 지표를 위해 사용자들의 OS에 임의로 접근이 불가능 하기 때문이라고 한다. 이 정보들은 CloudWatch Agent를 통해서 기록 가능
CloudWatch Agent로 EC2 메모리, 디스크 사용량 지표 기록
1. EC2 Role(역할) 생성
- IAM에서 '역할만들기' 클릭해서 'AWS서비스'의 'EC2' 선택하고 다음
- 권한(Permission) 정책에서 "CloudWatchAgentServerPolicy" 선택하고 다음
- '역할 이름' 간단히 입력하고 생성 함
2. EC2 생성
EC2 생성 시 [IAM역할]에 위에서 생성한 역할 선택
3. EC2 인스턴스에 CloudWatch Agent 설치/구성
- 생성한 EC2 접속해서 Agent 설치
sudo yum update
sudo yum install amazon-cloudwatch-agent
- Wizard를 통해 Agent 구성파일 생성. 아래 명령어 실행 시키고 설정 선택
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
* wazard 실행 시 StatsD, CollectD 데몬은 어플리케이션에서 사용자 지정 지표 쉽게 기록할 수 있게 해주는 프로토콜로 여기서는 미사용 2번 선택, 나머지 현재 사용하지 않을 Log파일 관련도 미사용 선택
* "default metrics" 선택은 아래와 같이 2번 "Standard" 선택
[default metrics] 지표 목록
1. Basic: 메모리 사용량, Swap 사용량
2. Standard: Basic내용 + CPU사용량, Disk사용량
3. Advanced: Standard내용 + DiskIO, Netstat
- 구성이 완료되면 구성파일 저장 경로 콘솔로 확인 가능
- 위의 config.json 파일의 경로 포함하여 "/opt/aws/amazon-cloudwatch-agent/bin/config.json" Agent 실행
# fetch-config를 통해 config.json파일의 내용을 설정 파일로 업데이트하고 시작
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
- Agent 실행 상태 확인
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
* [참조] CloudWatch Agent 명령어 및 파일 경로
# CloudWatch Agent 시작
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start
# CloudWatch Agent 중지
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
# CloudWatch Agent 로그 파일
vi /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
4. CloudWatch 조회
- CloudWatch 보면 "CWAgent" 네임스페이스가 생성 되었음
- 아래와 같이 Memory 지표도 확인 가능
'개발 > AWS' 카테고리의 다른 글
AWS CloudWatch Logs 적재(CWAgent) (0) | 2022.03.12 |
---|---|
AWS CloudWatch Alarm(경보) 설정 (0) | 2022.03.12 |
AWS CloudWatch 사용자 지정 지표(Custom Metrics) 생성 (0) | 2022.03.11 |
AWS Secrets Manager 개념 및 테스트 (0) | 2022.03.11 |
AWS ALB, AutoScalingGroup 활용해서 Blue-Green 배포 테스트 (0) | 2022.03.09 |
댓글