

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 コマンドラインインターフェイス (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> | 開発者 | 
| AWS 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/ja_jp/prescriptive-guidance/latest/patterns/publish-amazon-cloudwatch-metrics-to-a-csv-file.html)そうしないと、API オペレーションはデータポイントを返しません。 | 開発者 | 
| スクリプトの時間を設定します。 | この値には、取得するメトリックスの時間数を指定します。デフォルトは 1 時間です。複数日分のメトリクスを取得するには、値を時間単位で指定します。例えば、2 日間の場合は 48 と指定します。 | 開発者 | 
| スクリプトの統計値を変更します。 | (オプション) グローバル統計値は `Average` で、特定の統計値が割り当てられていないメトリクスを取得するときに使用されます。このスクリプトは統計値 `Maximum`、`SampleCount`、`Sum` をサポートします。 | 開発者 | 

### Python スクリプトを実行する。
<a name="run-the-python-script"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| スクリプトを実行します。 | 以下のコマンドを使用します。 <pre>$ python3 cwreport.py <service> </pre>サービス値、オプション `region `、`profile ` パラメータのリストを表示するには、以下のコマンドを実行します。<pre> $ python3 cwreport.py -h</pre>オプションパラメータの詳細については、*追加情報*セクションを参照してください。 | 開発者 | 

## 関連リソース
<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>
```

**パラメータ**
+ **service (必須)** ‒ スクリプトを実行したいサービス。スクリプトは現在、AWS Lambda、Amazon EC2、Amazon RDS、Application Load Balancer、Network Load Balancer、API ゲートウェイといったサービスをサポートします。
+ **region (オプション)** ‒ メトリックスを取得する AWS リージョン。デフォルトのリージョンは `ap-southeast-1` です。
+ **プロファイル (オプション)** ‒ 使用する AWS CLI の名前付きプロファイル。このパラメータを指定しない場合、デフォルトで設定されている認証情報プロファイルが使用されます。

**例**
+ デフォルトのリージョンと `ap-southeast-1` デフォルトで設定された認証情報を使用して Amazon EC2 メトリックスを取得するには:`$ python3 cwreport.py ec2`
+ リージョンを指定して API ゲートウェイメトリクスを取得するには:`$ 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)」