기존의 Cloudwatch는 CPU사용량, 네트워크 그리고 DiskIO와 같은 부분적인 정보들을 제공 해 주고 있습니다. 그러므로 Disk용량과 Memory사용량과 같은 정보를 보기 위해서는 Cloudwatch Agent를 설치 해야 필요한 정보를 얻을 수 있습니다. AWS에서 제공해주는 설치법의 경우에는 여러 페이지로 되어있어 한눈에 보기 힘이 들었습니다. 그래서 이번 포스트에서는 Cloudwatch Agent를 설치 하는 방법을 한 페이지에 담아내려 노력했습니다.
이 글은 Amazon Linux 2를 기준으로 작성하였으며, Amazon Linux 1이외에 윈도우 서버나 다른 운영체제일 경우에는 AWS에서 제공하는 문서를 보는 것을 추천드립니다.
순서는 다음과 같습니다.
- IAM역할 생성 및 적용하기
- EC2 Cloudwatch Agent 설치하기
- IAM 자격 증명 및 AWS 리전 설정
- Cloudwatch Agent 설정
- Cloudwatch Agent 실행
- 에러
- 확인
1. IAM역할 생성 및 적용하기
- AWS의 IAM에서 만드는 방법
- 왼쪽의 메뉴에서 역할을 누른 뒤 역할만들기에 들어갑니다.
- EC2 대시보드의 인스턴스에서 만드는 방법
- EC2에서 설정 할 인스턴스를 클릭 한 다음 작업 -> 인스턴스 설정 -> IAM역할 연결/바꾸기를 눌러준 다음 새 IAM 역할 생성을 눌러줍니다.
- 이는 추후에 인스턴스에 IAM역할을 할당 할 때 다시 들어오게 됩니다.
역할 만들기에서 Cloudwatch를 선택한 뒤 EC2를 선택하고 CloudWatchAgentServerPolicy와 AmazonSSMFullAccess를 선택 해 줍니다. 그 뒤 태그를 입력하고 역할이름을 입력해 생성 해 주면됩니다. 저의 경우에는 아래와 같이 설정 해 주었습니다.
그 뒤 EC2 대시보드의 인스턴스에서 만드는 방법처럼 들어 간 뒤 IAM역할을 방금 만든 역할로 설정 해 준 뒤 적용을 눌러주면 역할 역할 설정은 끝이 납니다.
2. EC2 Cloudwatch Agent 설치하기
3. IAM 자격 증명 및 AWS 리전 지정
첫번째 줄의 커맨드를 입력하면 아래의 입력줄이 하나 씩 나오게됩니다. 여기서는 region이 필요하기 때문에 EC2에서 파일 올리던 분들은 넘어가셔도 좋습니다.
4. Cloudwathch Agent 설정
이제 Cloudwatch Agent의 설정을 해 줄 차례입니다.
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
를 입력하면 Cloudwatch Agent를 설정 할 수 있습니다.
주요 체크 문항으로는
Which default metrics config do you want?
1. Basic
2. Standard
3. Advanced
4. None
default choice: [1]:
- 지표를 어떤 것 까지 수집을 할 것인지 설정을 할 수 있습니다.
- default는 기본이지만 저는 disk io와 같은 정보들이 필요했기 때문에 3번인 Advanced로 설정했습니다.
- 자세한 정보는 아래의 그림과 출처를 참고하시면 좋습니다.
Amazon EC2인스턴스 기준으로 아래와 같습니다.
출처 :
https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html
마법사로 CloudWatch 에이전트 구성 파일 만들기
docs.aws.amazon.com
그 뒤
이외의 자세한 사항들은 너무 많기도해서 다 서술하지는 못하지만 AWS의 문서를 참고하시면 좋습니다.
5. Cloudwatcch Agent 실행
실행은 아래의 명령어를 입력하면 실행이 시작됩니다.
6. 에러
저의 경우에는 다음과 같은 에러가 발생하였습니다.
정말 간단하게 해당 파일을 찾을 수 없다는 에러이기 때문에 필요한 파일을 생성 해 주면 됩니다.
7. 확인
이제 잘 설정이 되었는지 확인 할 차례입니다.
Cloudwatch의 지표탭을 들어가시면 전에는 보지 못헀던 항목이 생성되었습니다.
저는 Advanced를 이용했으며 여러개의 인스턴스에 적용을 했기 때문에 지표가 622개입니다. 너무 놀라지마세요.
안에 지표들을 확인 해 보면 아까 설정한 메트릭대로 정보들이 잘 저장되고 있는 것을 확인 할 수 있습니다.
저는 Cloudwatch Agent를 설정하고 난 후 대시보드에 CPUUtilization, mem_used_percent, disk_used_percent 3개를 주요 인스턴스들에 바인딩하여 한눈에 지표를 확인 하고 있습니다. 특히나 DB서버나 WAS의 경우에는 필요한 데이터나 로그성파일들이 쌓여 Disk 사용량이 넘치게 되었을 경우 비정상적인 행위를 보일 경우가 있는데 매일 출근해서 해당 데이터들을 한눈에 체크 할 수 있어 참 좋았던 것 같습니다.
'AWS' 카테고리의 다른 글
CORS - AWS편 (0) | 2022.01.17 |
---|---|
AWS EC2에서 S3로 파일 업로드 (0) | 2020.02.25 |
댓글