안녕하세요. 오늘은 CW Agent를 설치하여 기본으로 제공되지 않는 지표인 EC2의 메모리와 디스크 사용률을 모니터링 하는 방법을 알아보겠습니다.
먼저 인스턴스를 하나 실행하여 SSH 접속하여 줍니다.
CloudWatch Agent를 설치 합니다.
Amazon Linux 2 일 경우
sudo yum install amazon-cloudwatch-agent
또는
wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm
명령어로 설치할 수 있으며,
그 외 운영체제일 경우 (Centos, Redhat, SUSE, Debian, Ubuntu, Oracle, macOS, Windows)
아래 링크를 참조하여 S3 링크를 직접 확인하여 다운로드 받으면 되겠습니다.
설치가 되었다면 다음 파일을 vi 편집기로 만들어줍니다.
vi /opt/aws/amazon-cloudwatch-agent/bin/config.json
아래 내용을 복사 붙여넣기 해줍니다.
간단하게 메모리 사용률과 디스크 사용률을 수집하는 설정입니다.
vi 실행 후 :set paste 설정을 하고 붙여넣기를 하면 글자가 밀리지 않습니다.
{
"agent": {
"metrics_collection_interval": 60
},
"metrics": {
"namespace": "CloudWatch_NameSpace",
"append_dimensions":{
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"disk": {
"measurement": [
"used_percent"
]
},
"mem": {
"measurement": [
"mem_used_percent"
]
}
}
}
}
아래명령어로 CW 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
만약 실패한다면 다음 명령어를 실행하고 재시도 해봅니다.
sudo mkdir /usr/share/collectd
sudo touch /usr/share/collectd/types.db
에이전트가 실행 됬는지 확인해봅니다.
ps -ef | grep cloudwatch
추가적으로 인스턴스에 권한을 부여하여야 합니다.
IAM 역할 -> 역할 만들기 클릭
AWS서비스 -> EC2 -> 다음 클릭
CloudWatchAgentServerPolicy를 찾아서 선택 -> 다음
역할의 이름을 입력하고 생성합니다.
인스턴스로 돌아와 인스턴스 선택 -> 작업 -> 보안 -> IAM 역할 수정 클릭
아까 만든 역할을 할당하고 저장해줍니다.
AWS CloudWatch에서 지표 -> 모든 지표로 가면 아까 만든 CloudWatch_NameSpace라는 네임스페이스가 있습니다.
눌러서 들어가면 메모리 사용률(mem_used_percent)을 확인할 수 있고
path에 따른 디스크 사용률(disk_used_percent)도 확인 할 수 있습니다.
마지막으로 대시보드를 만들어 보겠습니다.
CloudWatch에서 대시보드 생성을 클릭합니다.
행을 선택합니다.
지표를 선택합니다.
아까 보았던 메모리 사용률을 찾아서 선택하고 위젯 생성을 클릭합니다.
마지막으로 대시보드 저장을 눌러서 대시보드 구성을 마칩니다.
config.json파일을 수정하여 자신에게 필요한 지표를 수집하고,
AWS CloudWatch 대시보드를 구성하여 운영 중인 인프라의 효율적인 모니터링이 가능합니다.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
Security Group과 Network ACL 비교 (0) | 2022.04.29 |
---|---|
[AWS] SNS vs SQS 차이점 (0) | 2022.04.26 |
AMI와 Snapshot 비교 (0) | 2022.04.22 |
AWS - Kinesis 란 무엇인가! ? (0) | 2022.04.21 |
[AWS] VPC - 퍼블릭 서브넷 구성 (0) | 2022.04.20 |
댓글