Wisdom’s Cloud

[AWS] 1. CloudWatch Agent를 사용하여 EC2 인스턴스에서 지표 수집 본문

AWS/Monitoring

[AWS] 1. CloudWatch Agent를 사용하여 EC2 인스턴스에서 지표 수집

지혜로운지혜쓰 2022. 2. 11. 14:18

CloudWatch Agent

  • CloudWatch Agent를 사용하면 운영 체제 전반에 걸쳐 Amazon EC2 인스턴스에서 내부 시스템 수준 지표를 수집할 수 있습니다.
  • 온프레미스 서버로부터 시스템 수준 지표를 수집하며, 여기에는 AWS가 관리하지 않는 서버뿐만 아니라 하이브리드 환경의 서버도 포함될 수 있습니다.
  • StatsD 및 collectd 프로토콜을 사용하여 애플리케이션 또는 서비스에서 사용자 지정 지표를 검색할 수 있습니다. StatsD는 Windows Server가 실행되는 서버와 Linux 서버에서 모두 지원되며, collectd는 Linux 서버에서만 지원됩니다.

 

CloudWatch Agent가 수집하는 지표

 

CloudWatch 에이전트가 수집하는 지표 - Amazon CloudWatch

CloudWatch 에이전트가 수집하는 지표 서버에 CloudWatch 에이전트를 설치하면 서버에서 지표를 수집할 수 있습니다. Amazon EC2 인스턴스와 온프레미스 서버 모두에 그리고 Linux, Windows Server 또는 macOS를

docs.aws.amazon.com

 

 

실습

기본 구성

 

CloudWatch Agent 사용에 필요한 IAM 역할 생성 및 연결

IAM 콘솔에서 역할을 선택한 후, 역할 만들기를 클릭합니다.
일반 사용 사례에서 EC2를 선택한 후, 다음을 클릭합니다.
정책 목록에서 "CloudWatchAgentServerPolicy"와 "AmazonSSMFullAccess"을 검색하여 옆의 확인란을 선택한 후, 다음을 클릭합니다.
역할 이름을 입력합니다.
추가한 권한이 맞는지 확인한 후, 역할 생성을 클릭합니다.
EC2 콘솔에서 기존에 생성한 인스턴스를 선택한 후, 작업의 보안에서 IAM 역할 수정을 차례대로 클릭합니다.
방금 생성한 역할을 선택한 후, 저장 버튼을 클릭합니다.

 

Systems Manager를 사용하여 CloudWatch Agent 다운로드 및 구성

SSM 콘솔에서 명령 실행을 선택한 후, 명령 실행을 클릭합니다.
AWS-ConfigureAWSPackage를 선택합니다.
문서 버전은 런타임 시 최신 버전, Action은 Install을 선택한 후, Name에 AmazonCloudWatchAgent를 입력합니다.
수동으로 인스턴스 선택을 클릭하고, 기존에 생성한 인스턴스를 선택한 후, 맨 아래 실행을 클릭합니다.
다음과 같이 명령 실행이 성공되었고, 해당 인스턴스에 CloudWatch Agent 패키지가 다운로드되었습니다.
SSM 콘솔에서 파라미터 스토어를 선택한 후, 파라미터 생성을 클릭합니다.
이름에 AmazonCloudWatchAgent-test를, 값에 아래 더보기의 내용을 입력한 후, 맨 아래 파라미터 생성을 클릭합니다.

더보기
{
    "agent": {
        "metrics_collection_interval": 10,
        "run_as_user": "cwagent"
    },
    "metrics": {
        "metrics_collected": {
            "collectd": {
                "metrics_aggregation_interval": 60
            },
            "mem": {
                "measurement": [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 10
            }
        }
    }
}
 
// 인스턴스 최적화를 위해 CPU 사용률과 메모리 사용률이 필요합니다. CPU 사용률은 기본적으로 제공되지만, 메모리 사용률은 CloudWatch Agent를 통해 수집해야 하기 때문에, 위와 같이 최소한의 지표만으로 구성 파일을 작성하였습니다.
// CloudWatch Agent가 수집하는 지표의 기본 네임스페이스는 "CWAgent"이지만, 다른 네임스페이스로 지정하여 구별할 수 있습니다.

 

Systems Manager를 사용하여 CloudWatch Agent 설치

SSM 콘솔에서 명령 실행을 선택한 후, 명령 실행을 클릭합니다.
AmazonCloudWatch-ManageAgent를 선택합니다.
문서 버전은 런타임 시 최신 버전, Action은 start을 선택한 후, Optional Configuration Location에 생성한 파라미터 이름을 입력합니다.
수동으로 인스턴스 선택을 클릭하고, 기존에 생성한 인스턴스를 선택한 후, 맨 아래 실행을 클릭합니다.
다음과 같이 명령 실행이 성공되었고, 해당 인스턴스에 CloudWatch Agent 설치가 완료되었습니다.

 

확인

CloudWatch 콘솔에서 모든 지표를 선택하면, CWAgent에 지표가 생성된 것을 확인할 수 있습니다.
구성 파일에서 설정한대로 디스크와 메모리에 대한 사용률을 확인할 수 있습니다.

'AWS > Monitoring' 카테고리의 다른 글

[AWS] 2. VPC Flow Logs를 사용하여 IP 트래픽 로깅  (0) 2022.02.23