

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

# Amazon CloudWatch 지표를 CSV 파일에 게시
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file"></a>

*Abdullahi Olaoye, Amazon Web Services*

## 요약
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-summary"></a>

이 패턴은 Python 스크립트를 사용하여 Amazon CloudWatch 지표를 검색하고 측정치 정보를 쉼표로 구분된 값(CSV) 파일로 변환하여 가독성을 높입니다. 이 스크립트는 지표를 검색해야 하는 AWS 서비스를 필수 인수로 사용합니다. AWS 리전 및 AWS 보안 인증 프로필을 선택적 인수로 지정할 수 있습니다. 이러한 인수를 지정하지 않는 경우 스크립트는 스크립트가 실행되는 워크스테이션에 구성된 기본 리전 및 프로필을 사용합니다. 스크립트가 실행되면 동일한 디렉터리에 CSV 파일이 생성되어 저장됩니다.

이 패턴으로 제공된 스크립트 및 관련 파일은 *첨부* 섹션을 참조하세요.

## 사전 조건 및 제한 사항
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-prereqs"></a>

**사전 조건 **
+ Python 3.x
+ AWS Command Line Interface(AWS CLI)

**제한 사항 **

이 스크립트는 다음 AWS 서비스를 지원합니다.
+ AWS Lambda
+ Amazon Elastic Compute Cloud(Amazon EC2)
  + 기본적으로 스크립트는 Amazon Elastic Block Store(Amazon EBS) 볼륨 지표를 수집하지 않습니다. Amazon EBS 지표를 수집하려면 첨부된 `metrics.yaml` 파일을 수정해야 합니다.
+ Amazon Relational Database Service(Amazon RDS)
  + 하지만 스크립트는 Amazon Aurora를 지원하지 않습니다.
+ Application Load Balancer
+ Network Load Balancer
+ Amazon API Gateway

## 도구
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-tools"></a>
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)는 DevOps 엔지니어, 개발자, 사이트 신뢰성 엔지니어(SRE) 및 IT 관리자를 위해 구축된 모니터링 서비스입니다. CloudWatch는 애플리케이션을 모니터링하고 시스템 전반의 성능 변경 사항에 대응하며, 리소스 사용률을 최적화하고, 운영 상태에 대한 통합된 뷰를 확보하는 데 필요한 데이터와 실행 가능한 통찰력을 제공합니다. CloudWatch는 로그, 지표 및 이벤트의 형태로 모니터링 및 운영 데이터를 수집하고, AWS 및 온프레미스 서버에서 실행되는 AWS 리소스, 애플리케이션 및 서비스에 대한 통합된 뷰를 제공합니다.

## 에픽
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-epics"></a>

### 사전 조건 설치 및 구성
<a name="install-and-configure-the-prerequisites"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 사전 조건을 설치합니다. | 다음 명령을 실행합니다.<pre>$ pip3 install -r requirements.txt</pre> | 개발자 | 
| CLI를 구성합니다. | 다음 명령을 실행합니다. <pre>$ aws configure</pre> | 개발자 | 

### Python 스크립트 구성
<a name="configure-the-python-script"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 스크립트를 엽니다. | 스크립트의 기본 구성을 변경하려면 `metrics.yaml`을(를) 엽니다. | 개발자 | 
| 스크립트 기간을 설정합니다. | 이는 가져오는 기간입니다. 기본 기간은 5분(300초)입니다. 기간을 변경할 수 있지만 다음 제한 사항에 유의하세요. [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/publish-amazon-cloudwatch-metrics-to-a-csv-file.html)<br />그렇지 않으면 API 작업에서 데이터 포인트를 반환하지 않습니다. | 개발자 | 
| 스크립트 시간을 설정합니다. | 이 값은 가져오고자 하는 지표 시간을 지정합니다. 기본값은 1시간입니다. 며칠 간의 지표를 검색하려면 값을 시간 단위로 제공합니다. 예를 들어, 2일의 경우 48을 지정합니다. | 개발자 | 
| 스크립트의 통계 값을 변경합니다. | (선택 사항) 글로벌 통계 값은 `Average`이며, 이는 특정 통계 값이 할당되지 않은 지표를 가져올 때 사용됩니다. 스크립트는 통계 값 `Maximum`, `SampleCount` 및 `Sum`을(를) 지원합니다. | 개발자 | 

### Python 스크립트 실행
<a name="run-the-python-script"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 스크립트 실행. | 다음 명령을 사용합니다. <pre>$ python3 cwreport.py <service> </pre><br />서비스 값 목록과 선택적 `region ` 및 `profile ` 파라미터를 보려면 다음 명령을 실행합니다.<pre> $ python3 cwreport.py -h</pre><br />선택적 파라미터에 대한 자세한 내용은 *추가 정보* 섹션을 참조하세요. | 개발자 | 

## 관련 리소스
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-resources"></a>
+ [AWS CLI 구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)
+ [Amazon CloudWatch 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [EC2 CloudWatch 지표](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ec2-cloudwatch-metrics)
+ [AWS Lambda 지표](https://docs.aws.amazon.com/lambda/latest/operatorguide/logging-metrics.html)
+ [Amazon RDS 지표](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html#rds-cw-metrics-instance)
+ [Application Load Balancer 지표](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)
+ [Network Load Balancer 지표](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)
+ [Amazon API Gateway 지표](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html)

## 추가 정보
<a name="publish-amazon-cloudwatch-metrics-to-a-csv-file-additional"></a>

**스크립트 사용**

```
$ python3 cwreport.py -h
```

**예제 구문**

```
python3 cwreport.py <service> <--region=Optional Region> <--profile=Optional credential profile>
```

**파라미터**
+ **서비스(필수)** - 스크립트를 실행하려는 서비스입니다. 스크립트는 현재 AWS Lambda, Amazon EC2, Amazon RDS, Application Load Balancer, Network Load Balancer 및 API Gateway 서비스를 지원합니다.
+ **리전(선택 사항)** - 지표를 가져올 AWS 리전입니다. 기본 리전은 `ap-southeast-1`입니다.
+ **프로필(선택 사항)** ‒ 사용할 AWS CLI의 명명된 프로필입니다. 이 파라미터를 지정하지 않으면 구성된 기본 보안 인증 프로필이 사용됩니다.

**예시**
+ 기본 리전 `ap-southeast-1` 및 기본 구성 보안 인증 정보를 사용하여 Amazon EC2 지표를 가져오려면: `$ python3 cwreport.py ec2`
+ 리전을 지정하고 API Gateway 지표를 가져오려면: `$ python3 cwreport.py apigateway --region us-east-1`
+ AWS 프로필을 지정하고 Amazon EC2 지표를 가져오려면: `$ python3 cwreport.py ec2 --profile testprofile`
+ Amazon EC2 지표를 가져올 리전과 프로필을 모두 지정하려면: `$ python3 cwreport.py ec2 --region us-east-1 --profile testprofile`

## 첨부
<a name="attachments-0a915a9d-2eef-4da1-8283-3cf4a115b3b2"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/0a915a9d-2eef-4da1-8283-3cf4a115b3b2/attachments/attachment.zip) 파일의 압축을 풉니다.