

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

# 예: 사용자 지정 Amazon CloudWatch 지표 사용
<a name="customize-containers-cw"></a>

이 주제에서는 Amazon Linux 2 이상을 기반으로 하는 플랫폼의 Elastic Beanstalk 지표를 Amazon CloudWatch 에이전트와 통합하는 구성 예제를 제공합니다. 구성 예제는 `.ebextensions` 구성 파일의 파일과 명령을 사용합니다.

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

**Amazon CloudWatch 에이전트**  
Amazon CloudWatch 에이전트를 사용하면 운영 체제 전체에서 Amazon EC2 인스턴스 및 온프레미스 서버에서 CloudWatch 지표 및 로그 수집을 수행할 수 있습니다. 에이전트는 시스템 수준에서 수집된 지표를 지원합니다. 또한, 애플리케이션 또는 서비스에서 사용자 지정 로그 및 지표 수집을 지원합니다. Amazon CloudWatch 에이전트에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 에이전트를 사용하여 지표 및 로그 수집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)을 참조하세요.

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

**Topics**
+ [.Ebextensions 구성 파일](#customize-containers-cw-update-roles)
+ [권한](#customize-containers-cw-policy)
+ [CloudWatch 콘솔에서 지표 보기](#customize-containers-cw-console)

## .Ebextensions 구성 파일
<a name="customize-containers-cw-update-roles"></a>

이 예제에서는 .ebextensions 구성 파일의 파일 및 명령을 사용하여 Amazon Linux 2 플랫폼에서 Amazon CloudWatch 에이전트를 구성 및 실행합니다. 에이전트는 Amazon Linux 2에 사전 패키징됩니다. 다른 운영 체제를 사용하는 경우 에이전트를 설치하기 위한 추가 단계가 필요할 수 있습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 에이전트 설치](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)를 참조하세요.

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

구성 파일에 대한 자세한 내용은 [구성 파일(`.ebextensions`)을 사용하여 고급 환경 사용자 지정](ebextensions.md) 섹션을 참조하세요.

이 파일에는 다음 두 개의 단원이 있습니다.
+ `files` — 이 단원은 에이전트 구성 파일을 추가합니다. 에이전트가 Amazon CloudWatch로 전송해야 하는 지표 및 로그를 나타냅니다. 이 예제에서는 *mem\$1used\$1percent* 지표만을 전송합니다. Amazon CloudWatch 에이전트가 지원하는 시스템 수준 지표의 전체 목록은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 에이전트가 수집하는 지표](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html)를 참조하세요.
+ `container_commands` — 이 단원에는 구성 파일을 매개 변수로 전달하는 에이전트를 시작하는 명령이 포함되어 있습니다. `container_commands`에 대한 자세한 내용은 [컨테이너 명령](customize-containers-ec2.md#linux-container-commands) 단원을 참조하세요.

**.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 append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
```

## 권한
<a name="customize-containers-cw-policy"></a>

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

**CloudWatch 측정치를 게시할 권한을 부여하려면**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

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

1. **권한** 탭을 선택합니다.

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

1. **권한 연결**에서 AWS 관리형 정책 **CloudWatchAgentServerPolicy**를 선택합니다. 그런 다음 **정책 추가(Attach Policy)**를 클릭합니다.

정책 관리에 대한 자세한 내용은 *IAM 사용 설명서*의 [정책 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)을 참조하세요.

## CloudWatch 콘솔에서 지표 보기
<a name="customize-containers-cw-console"></a>

CloudWatch 구성 파일을 환경에 배포한 후 [Amazon CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/home)에서 측정치를 확인할 수 있습니다. 사용자 지정 지표는 **CWAgent** 네임스페이스에 있습니다.

자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [사용 가능한 지표 보기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)를 참조하세요.