ecsimsw

AWS / CloudWatch / CWAgent 로 인스턴스 메모리 및 디스크 로그 수집 본문

AWS / CloudWatch / CWAgent 로 인스턴스 메모리 및 디스크 로그 수집

JinHwan Kim 2021. 8. 8. 07:29

AWS Cloudwatch Agent

 

AWS Cloudwatch로 인스턴스 상태를 확인, 관리할 수 있다.  CloudWatch에서 기본적으로 제공하는 cpu 사용률, 네트워크 패킷 수 외에도, 다음을 따라 Cloudwatch agent를 이용하면 해당 인스턴스의 메모리와 디스크 사용률까지도 확인할 수 있다.

 

적용한 Cloudwatch 대시보드는 아래와 같다.

 

 

 

 

1. IAM role, ec2 cloudwatch API 생성

 

2. 원하는 ec2 인스턴스에 해당 role 적용

 

3. 우분투 기준, CloudWatchAgent 다운로드 및 설치

 

wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

 

 

4. 설정 파일 작성, 수집하고 싶은 Metrics 설정 (공식 Docs metrics 리스트 참고)

 

vi  /opt/aws/amazon-cloudwatch-agent/bin/config.json

{
        "agent": {
                "metrics_collection_interval": 60,
                "run_as_user": "root"
        },
        "metrics": {
                "metrics_collected": {
                        "disk": {
                                "measurement": [
                                        "used_percent",
                                        "used",
                                        "total"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "mem": {
                                "measurement": [
                                        "mem_used_percent",
                                        "mem_total",
                                        "mem_used"
                                ],
                                "metrics_collection_interval": 60
                        }
                }
        }
}

(예시에선 디스크와 메모리 각각의 사용률, 전체, 사용됨 지표로 수집 )

 

 

5. 설정 파일 적용

 

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

 

 

6. 확인

 

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
tail -f /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

 

 

참고 

 

 

[AWS] EC2에 CloudWatch Agent 설치하여 모니터링하기

EC2 메모리정보는 CloudWatch에 기본으로 제공되지 않으므로 CloudWatchAgent를 설치하여 모니터링 해야함.CloudWatchAgentServerPolicy 정책을 갖는 역할을 만들어 해당 EC2 인스턴스에 역할로 지정(권한 문제

velog.io

 

Metrics collected by the CloudWatch agent - Amazon CloudWatch

Metrics collected by the CloudWatch agent You can collect metrics from servers by installing the CloudWatch agent on the server. You can install the agent on both Amazon EC2 instances and on-premises servers, and on computers running either Linux, Windows

docs.aws.amazon.com

 

Comments