본문 바로가기

aws

EC2 Instance 에 Cloud Watch Agent 설치

Cloud Watch Agent 설치

에이전트 설치는 아래의 명령줄로 설치할 수 있다.

sudo yum install amazon-cloudwatch-agent

Amazon Linux 2 다운로드 링크

<https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm>

Windows 다운로드 링크

<https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi>

 

 

Cloud Watch Agent 실행

Cloud Watch Agent 를 정상적으로 실행시키기 위해서는 다음과 같은 과정이 필요하다.

 

1. IAM 역할 생성

2. EC2 인스턴스에 IAM 역할 연결

3. 구성 파일 생성

1. IAM 역할 생성

EC2 인스턴스에서 Cloud Watch Agent 가 정상적으로 로그를 수집하기 위해서는 IAM 역할 부여가 필요하다.

 

  • IAM 메뉴 > 엑세스 관리 > 역할 > 역할 생성
  • AWS 서비스 > EC2 선택





  • CloudWatchAgentServerPolicy 정책 추가

 

 

 

로그 그룹에 대한 보존 정책 설정 (선택사항)

Cloud Watch Log 에 로그를 전송하고 에이전트가 이러한 로그 그룹에 대한 보존 정책을 설정할 수 있도록 하려면 logs:PutRetentionPolicy 권한이 필요하다.

 

 

 

정책 편집기 전문

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "logs:PutRetentionPolicy",
      "Resource": "*"
    }
  ]
}

 

 

2. EC2 인스턴스에 IAM 역할 연결

  1. EC2 콘솔로 이동
  2. IAM 역할을 추가 할 해당하는 인스턴스 선택
  3. Actions → Security → Modify IAM Role 선택 및 역할 수정

 

3. 구성 파일 생성

Cloud Watch Agent 를 실행하기 위해서는 실행 구성파일이 필요하다.

실행 구성 파일은 Cloud Watch Agent 마법사를 통해 생성할 수 있다.

 

Cloud Watch Agent Wizard 실행

Linux

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

Windows Server

cd "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent"
.\\amazon-cloudwatch-agent-config-wizard.exe

 

설정이 완료되면 config 경로가 터미널 상에서 표기가 되는데

EC2 Amazon Linux 의 경우 아래와 같으니 찾아보자.

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

 

 

Cloud Watch Agent 실행

아래의 명령어를 통해 Cloud Watch Agent 를 실행할 수 있다.

Linux

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

Windows Server

& "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent\\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:configuration-file-path

 

Cloud Watch Agent 실행 확인

Cloud Watch Agent 가 정상적으로 실행 중인지 확인하고 싶다면 아래와 같은 명령어를 이용하면 확인 할 수 있다.

# 상태 확인
sudo amazon-cloudwatch-agent-ctl -m ec2 -a status

# 만약 정지되어 있다면
sudo amazon-cloudwatch-agent-ctl -m ec2 -a start

# 로그 파일 확인
cd /opt/aws/amazon-cloudwatch-agent/logs
sudo more amazon-cloudwatch-agent.log

 

 

트러블 슈팅

error parsing socket_listener, open /usr/share/collectd/types.db: no such file or directory

Cloud Watch Agent 실행 시 해당 파일을 찾지 못하는 에러가 발견되는 경우 다음과 같이 처리하면 된다.

sudo mkdir -p /usr/share/collectd/
sudo touch /usr/share/collectd/types.db

'aws' 카테고리의 다른 글

AWS EICE (EC2 Instance Connect Endpoint) 연동  (0) 2024.03.21