IT/AWS

AWS Cloud watch Agent설치및 Custom metric설정(Linux)

반응형

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
반응형