

# メトリクスを CloudWatch にパブリッシュする
<a name="PublishMetrics"></a>

このシナリオでは、AWS Command Line Interface (AWS CLI) を使用して *GetStarted* という仮想アプリケーションの 1 つのメトリクスを発行します。まだ AWS CLI をインストールして設定していない場合は、*AWS Command Line Interface ユーザーガイド*の「[AWS Command Line Interface のセットアップ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)」を参照してください。

**Topics**
+ [ステップ 1: データ構成を定義する](#define-data-domain)
+ [ステップ 2: CloudWatch にメトリックスを追加する](#add-metrics-to-scenario)
+ [CloudWatch から統計情報を取得する](#GetStatistics)
+ [ステップ 4: コンソールでグラフを表示する](#ViewGraphs)

## ステップ 1: データ構成を定義する
<a name="define-data-domain"></a>

このシナリオでは、アプリケーションのリクエストレイテンシーを追跡するデータポイントを発行します。メトリクスの名前と名前空間は、わかりやすいものを選択します。この例では、メトリクスに *RequestLatency* という名前を付けて、すべてのデータポイントを *GetStarted* という名前空間に入れます。

3 時間分のレイテンシーデータを集合的に示すデータポイントをいくつか発行します。raw データは、3 時間にわたって分散された 15 個のリクエストレイテンシーの読み取り値で構成されています。読み取り値の単位はミリ秒です。
+ 1 時間目: 87、51、125、235
+ 2 時間目: 121、113、189、65、89
+ 3 時間目: 100、47、133、98、100、328

データを CloudWatch にパブリッシュするときは、単一のデータポイントとしてパブリッシュすることも、複数のデータポイントを集約したセット (*統計セット*) としてパブリッシュすることもできます。 メトリクス集約の最小単位は 1 分間です。データポイントを集約して統計セットとして CloudWatch にパブリッシュするときに、4 つの事前定義キー（`Sum`、`Minimum`、`Maximum`、`SampleCount`）を指定できます。

ここでは、1 時間目のデータポイントを個別のデータポイントとして発行します。2 時間目と 3 時間目のデータについては、時間ごとにデータポイントを集約して統計セットとして発行します。キーの値を次の表に示します。


| 時 | raw データ | 合計 | 最小値 | 最大値 | サンプル数 | 
| --- | --- | --- | --- | --- | --- | 
| `1` | `87` |  |  |  |  | 
| `1` | `51` |  |  |  |  | 
| `1` | `125` |  |  |  |  | 
| `1` | `235` |  |  |  |  | 
| `2` | `121, 113, 189, 65, 89` | `577` | `65` | `189` | `5` | 
| `3` | `100, 47, 133, 98, 100, 328` | `806` | `47` | `328` | `6` | 

## ステップ 2: CloudWatch にメトリックスを追加する
<a name="add-metrics-to-scenario"></a>

データ構成の定義が完了すると、データを追加できる状態になります。

**CloudWatch にデータポイントを発行するには**

1. コマンドプロンプトで、次の [put-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-data.html) コマンドを実行し、最初の 1 時間のデータを追加します。サンプルのタイムスタンプを、協定世界時 (UTC) のタイプスタンプ (2 時間前) に置き換えます。

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp {{2016-10-14T20:30:00Z}} --value 87 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp {{2016-10-14T20:30:00Z}} --value 51 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp {{2016-10-14T20:30:00Z}} --value 125 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp {{2016-10-14T20:30:00Z}} --value 235 --unit Milliseconds
   ```

1. 2 時間目のデータを追加します。最初の 1 時間よりも 1 時間遅いタイムスタンプを使用します。

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp {{2016-10-14T21:30:00Z}} --statistic-values Sum=577,Minimum=65,Maximum=189,SampleCount=5 --unit Milliseconds
   ```

1. 3 時間目のデータを追加します。タイムスタンプは省略し、デフォルトで現在の時刻に設定されるようにします。

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --statistic-values Sum=806,Minimum=47,Maximum=328,SampleCount=6 --unit Milliseconds
   ```

## CloudWatch から統計情報を取得する
<a name="GetStatistics"></a>

CloudWatch にメトリクスがパブリッシュされたので、次のように [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用して、そのメトリクスに基づく統計情報を取得することができます。`--start-time` と `--end-time` は、最も早く発行したタイムスタンプが含まれるように、十分な時間範囲を指定してください。

```
aws cloudwatch get-metric-statistics --namespace GetStarted --metric-name RequestLatency --statistics Average \
--start-time {{2016-10-14T00:00:00Z}} --end-time {{2016-10-15T00:00:00Z}} --period 60
```

出力例を次に示します。

```
{
	"Datapoints": [],
	"Label": "Request:Latency"
}
```

## ステップ 4: コンソールでグラフを表示する
<a name="ViewGraphs"></a>

CloudWatch にメトリックスを公開したら、CloudWatch コンソールを使用して統計グラフを表示できます。

**統計情報のグラフをコンソールで表示するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. **ナビゲーションペイン**で [**メトリクス**] を選択します。

1. [**すべてのメトリクス**] タブで、検索ボックスに「**RequestLatency**」と入力し、Enter キーを押します。

1. [**RequestLatency**] メトリクスのチェックボックスを選択します。メトリクスのデータのグラフが上のペインに表示されます。

詳細については、「[メトリクスのグラフ化](graph_metrics.md)」を参照してください。