예: 사용자 지정 Amazon CloudWatch 지표 사용 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예: 사용자 지정 Amazon CloudWatch 지표 사용

Amazon CloudWatch는 측정치의 데이터를 기반으로 경보 작업을 구성하고 다양한 측정치를 모니터링, 관리, 게시할 수 있게 해 주는 웹 서비스입니다. 자체 용도로 사용자 지정 측정치를 정의할 수 있으며, Elastic Beanstalk에서 그러한 측정치를 Amazon CloudWatch에 푸시합니다. Amazon CloudWatch에 사용자 지정 측정치가 포함되어 있으면 Amazon CloudWatch 콘솔에서 이를 볼 수 있습니다.

중요

Amazon CloudWatch 모니터링 스크립트는 더 이상 사용되지 않습니다. 이제 CloudWatch 에이전트가 CloudWatch 모니터링 스크립트를 대체하여 지표와 로그를 수집합니다.

사용되지 않는 모니터링 스크립트에서 에이전트로 마이그레이션하고 있고 모니터링 스크립트에 대한 정보가 필요한 경우 Linux 인스턴스용 Amazon EC2 사용 설명서에서 더 이상 사용되지 않음: CloudWatch 모니터링 스크립트를 사용하여 지표 수집 섹션을 참조하세요.

Amazon CloudWatch 에이전트

Amazon CloudWatch 에이전트를 사용하면 운영 체제 전체에서 Amazon EC2 인스턴스 및 온프레미스 서버에서 CloudWatch 지표 및 로그 수집을 수행할 수 있습니다. 에이전트는 시스템 수준에서 수집된 지표를 지원합니다. 또한, 애플리케이션 또는 서비스에서 사용자 지정 로그 및 지표 수집을 지원합니다. Amazon CloudWatch 에이전트에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트를 사용하여 지표 및 로그 수집을 참조하세요.

참고

Elastic Beanstalk 확장 상태 보고는 다양한 인스턴스 및 환경 측정치를 CloudWatch에 게시하는 기본 지원을 제공합니다. 세부 정보는 환경에 대한 Amazon CloudWatch 사용자 지정 측정치 게시 섹션을 참조하세요.

.Ebextensions 구성 파일

이 예제에서는 .ebextensions 구성 파일의 파일 및 명령을 사용하여 Amazon Linux 2 플랫폼에서 Amazon CloudWatch 에이전트를 구성 및 실행합니다. 에이전트는 Amazon Linux 2에 사전 패키징됩니다. 다른 운영 체제를 사용하는 경우 에이전트를 설치하기 위한 추가 단계가 필요할 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트 설치를 참조하세요.

이 샘플을 사용하려면 프로젝트 디렉터리의 최상위에 있는 .ebextensions라는 디렉터리의 cloudwatch.config라는 파일에 이를 저장한 후, Elastic Beanstalk 콘솔(소스 번들의 .ebextensions 디렉터리 포함) 또는 EB CLI를 사용하여 애플리케이션을 배포합니다.

구성 파일에 대한 자세한 내용은 구성 파일(.ebextensions)을 사용하여 고급 환경 사용자 지정을 참조하십시오.

.ebextensions/cloudwatch.config

files: "/opt/aws/amazon-cloudwatch-agent/bin/config.json": mode: "000600" owner: root group: root content: | { "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "System/Linux", "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ] } } } } container_commands: start_cloudwatch_agent: command: /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

이 파일에는 다음 두 개의 단원이 있습니다.

  • files — 이 단원은 에이전트 구성 파일을 추가합니다. 에이전트가 Amazon CloudWatch로 전송해야 하는 지표 및 로그를 나타냅니다. 이 예제에서는 mem_used_percent 지표만을 전송합니다. Amazon CloudWatch 에이전트가 지원하는 시스템 수준 지표의 전체 목록은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트가 수집하는 지표를 참조하세요.

  • container_commands — 이 단원에는 구성 파일을 매개 변수로 전달하는 에이전트를 시작하는 명령이 포함되어 있습니다. container_commands에 대한 자세한 내용은 컨테이너 명령 단원을 참조하세요.

권한

Amazon CloudWatch 에이전트를 사용하여 사용자 지정 Amazon CloudWatch 측정치를 게시하려면 환경의 인스턴스에는 적절한 IAM 권한이 필요합니다. 환경의 인스턴스에 권한을 부여하려면 환경의 인스턴스 프로파일에 이를 추가하면 됩니다. 애플리케이션을 배포하기 전이나 후에 인스턴스 프로파일에 권한을 추가할 수 있습니다.

CloudWatch 측정치를 게시할 권한을 부여하려면
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할(Roles)을 선택합니다.

  3. 환경의 인스턴스 프로파일 역할을 선택합니다. 기본적으로 Elastic Beanstalk 콘솔 또는 EB CLI를 사용하여 환경을 생성하는 경우 이는 aws-elasticbeanstalk-ec2-role입니다.

  4. 권한(Permissions) 탭을 선택합니다.

  5. 권한 정책(Permissions Policies) 아래 권한(Permissions) 단원에서 정책 연결(Attach policies)을 선택하세요.

  6. 권한 연결(Attach Permissions) 아래에서 AWS 관리형 정책 CloudWatchAgentServerPolicy을 선택하세요. 그런 다음 정책 추가(Attach Policy)를 클릭합니다.

정책 관리에 대한 자세한 내용은 IAM 사용 설명서정책 작업을 참조하세요.

CloudWatch 콘솔에서 지표 보기

CloudWatch 구성 파일을 환경에 배포한 후 Amazon CloudWatch 콘솔에서 측정치를 확인할 수 있습니다. 사용자 지정 지표는 CWAgent 네임스페이스에 있습니다.

자세한 내용은 Amazon CloudWatch 사용 설명서사용 가능한 지표 보기를 참조하세요.