반응형
AWS Cloud watch Agent설치및 Custom metric설정(Linux)
- AWS EC2를 생성한뒤, 시스템 모니터링을 위해 Cloudwatch metric을 확인해보면 memory, storage 정보는 확인할 수가 없다.
- 그 이유는 AWS가 OS에 접근하여 시스템 정보를 가져오지 않기 때문이다.
- 참고로 Naver Cloud Platform은 VM에 모니터링용 agent가 설치 된 채로 제공된다.
Cloudwatch Agent용 iam role을 생성합니다.
- iam role name : cw-agent-service-role
- 권한 : CloudwatchAgentServerPolicy
Custom metric을 사용할 EC2 instance 에 해당 iam role을 부여합니다.
해당 instance 에 ssh 로 접속하여 아래 명령어를 실행합니다.
CWAgent 폴더 생성
mkdir CWAgent
cd CWAgent
CWAgent 폴더에 cloudwatch agent 다운로드 후 설치
wget [https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)
unzip AmazonCloudWatchAgent.zip -d AmazonCloudWatchAgent
cd AmazonCloudWatchAgent/
./install.sh
Cloudwatch config 생성
cd /opt/aws/amazon-cloudwatch-agent/bin
vi config.json
아래 json 추가 (Memory 사용량, Storage 사용량 을 가져오는 설정)
{
"metrics": {
"append\_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics\_collected": {
"cpu": {
"measurement": \[
"cpu\_usage\_idle",
"cpu\_usage\_iowait",
"cpu\_usage\_user",
"cpu\_usage\_system"
\],
"metrics\_collection\_interval": 60,
"totalcpu": false
},
"disk": {
"measurement": \[
"used\_percent",
"inodes\_free"
\],
"metrics\_collection\_interval": 60,
"resources": \[
"\*"
\]
},
"diskio": {
"measurement": \[
"io\_time"
\],
"metrics\_collection\_interval": 60,
"resources": \[
"\*"
\]
},
"mem": {
"measurement": \[
"mem\_used\_percent"
\],
"metrics\_collection\_interval": 60
},
"swap": {
"measurement": \[
"swap\_used\_percent"
\],
"metrics\_collection\_interval": 60
}
}
}
}
cloudwatch agent wizard로 설정파일 생성하기
위에서 직접생성했으면 넘어가도 무관함
UI를 제공하여 쉽게 설정가능하지만 디테일한 설정을 할 수 없음
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
설정파일 권한 설정
chmod 755 config.json
cloudwatch agent 실행
/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
cloudwatch agent 상태 확인
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
반응형
'IT > AWS' 카테고리의 다른 글
[AWS]EKS NodeGroup생성 전략 3가지 (3) | 2021.05.25 |
---|---|
[AWS]EKS 네트워크 이해하기(CNI Plugin) (6) | 2020.06.26 |
[AWS]EKS란? EKS생성 하기(AWS Console, AWS CLI사용) (0) | 2020.01.19 |
[AWS] AWS클라우드 에서 NAT구축하기 (0) | 2019.11.05 |
[AWS] VPC peering이란?(VCP 피어링 생성 및 설정 방법) (0) | 2019.10.24 |