Ops/Cloud

[AWS] CloudWatch Agent 설치 (Ubuntu)

장그래 2023. 1. 16. 16:08
반응형

 

개요

CloudWatch는 EC2의 메모리 사용량, 디스크 사용량을 자동으로 수집하지 못한다. 별도의 Agent를 통해 이러한 지표를 수집해야 한다.

CloudWatch Agent 세팅

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

 

서버에 CloudWatch 에이전트 설치 및 실행 - Amazon CloudWatch

서버에 CloudWatch 에이전트 설치 및 실행 원하는 에이전트 구성 파일을 생성하고 IAM 역할 또는 IAM 사용자를 생성했으면 다음 단계에 따라 해당 구성을 사용하여 서버에 에이전트를 설치하고 실행

docs.aws.amazon.com

* 조건 
- EC2에 CloudWatchAgentServerPolicy라는 Role을 적용해놔야 함
(Key에 적용을 하던, Ec2에 Role을 적용하던..) 




1. 지표를 수집할 EC2 서버에. deb 파일을 설치한다.

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

2. 받은 파일의 압축을 해제한다.

sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

3. agent 파일은  /opt/aws/amazon-cloudwatch-agent/ 경로에 압축이 풀린다.

4.amazon-cloudwatch-agent.json 파일을 생성하고, 수집할 메트릭 정보를 넣어준다.
(메트릭을 추가하고 싶으면 자세한 문서를 보고 값을 추가해준다. https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html )

vim /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
#메모리 사용량 지표와, 디스크 사용량 지표
{
  "metrics": {
    "metrics_collected": {
      "mem": {
        "measurement": [
          "mem_used_percent"
        ]
      },
      "disk": {
        "measurement": [
          "used_percent"
        ],
        "resources": [
          "*"
        ]
      }
    }
  }
}

5. 아래 명령어로 config를 적용한다

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:amazon-cloudwatch-agent.json

 

6. 시간이 얼마 지나면 CWAgent라는 네임스페이스에 지표가 수집되는 것을 확인할 수 있다.

반응형