본문 바로가기
개발/AWS

AWS CloudWatch Agent 사용(EC2)

by 궁즉변 변즉통 통즉구 2022. 3. 12.
반응형

CloudWatchEC2인스턴스에 대한 기본적인 지표들(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 지표도 확인 가능

 

 

반응형

댓글