

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

# CloudWatch メトリクス
<a name="cloudwatch-metrics-component"></a>

Amazon CloudWatch メトリクスコンポーネント (`aws.greengrass.Cloudwatch`) は、Greengrass コアデバイスからのカスタムメトリクスを Amazon CloudWatch にパブリッシュします。このコンポーネントを使用すると、コンポーネントが CloudWatch メトリクスをパブリッシュできるようになり、ユーザーはこれを使用して Greengrass コアデバイスの環境を監視したり分析したりできるようになります。詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」を参照してください。

このコンポーネントで CloudWatch メトリクスをパブリッシュするには、このコンポーネントがサブスクライブするトピックにメッセージをパブリッシュします。デフォルトでは、このコンポーネントは `cloudwatch/metric/put` [ローカルパブリッシュ/サブスクライブ](ipc-publish-subscribe.md)トピックにサブスクライブします。このコンポーネントをデプロイするときに、 AWS IoT Core MQTT トピックを含む他のトピックを指定できます。

このコンポーネントは、同じ名前空間にあるメトリクスをバッチにまとめて、定期的に CloudWatch にパブリッシュします。

**注記**  
このコンポーネントは、 AWS IoT Greengrass V1 の CloudWatch メトリクスコネクタと同様の機能を提供します。詳細については、「AWS IoT Greengrass V1 デベロッパーガイド」の「[CloudWatch メトリクスコネクタ](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudwatch-metrics-connector.html)」を参照してください。

**Topics**
+ [バージョン](#cloudwatch-metrics-component-versions)
+ [タイプ](#cloudwatch-metrics-component-type)
+ [オペレーティングシステム](#cloudwatch-metrics-component-os-support)
+ [要件](#cloudwatch-metrics-component-requirements)
+ [依存関係](#cloudwatch-metrics-component-dependencies)
+ [設定](#cloudwatch-metrics-component-configuration)
+ [入力データ](#cloudwatch-metrics-component-input-data)
+ [出力データ](#cloudwatch-metrics-component-output-data)
+ [ライセンス](#cloudwatch-metrics-component-licenses)
+ [ローカルログファイル](#cloudwatch-metrics-component-log-file)
+ [変更ログ](#cloudwatch-metrics-component-changelog)
+ [関連情報](#cloudwatch-metrics-component-see-also)

## バージョン
<a name="cloudwatch-metrics-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.1.x
+ 2.0.x

コンポーネントの各バージョンに対する変更については、「[変更ログ](#cloudwatch-metrics-component-changelog)」を参照してください。

## タイプ
<a name="cloudwatch-metrics-component-type"></a>

------
#### [ v3.x ]

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

------

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="cloudwatch-metrics-component-os-support"></a>

------
#### [ v3.x ]

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

------
#### [ v2.x ]

このコンポーネントは、Linux コアデバイスにのみインストールできます。

------

## 要件
<a name="cloudwatch-metrics-component-requirements"></a>

このコンポーネントには次の要件があります。

------
#### [ 3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `cloudwatch:PutMetricData` アクションを許可する必要があります。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch の許可リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)」を参照してください。

------
#### [ 2.x ]
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `cloudwatch:PutMetricData` アクションを許可する必要があります。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch の許可リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)」を参照してください。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "component:aws.greengrass.Cloudwatch",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-cloudwatch:version",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。

------

### エンドポイントおよびポート
<a name="cloudwatch-metrics-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `monitoring.region.amazonaws.com`  | 443 | はい |  CloudWatch メトリクスをアップロードします。  | 

## 依存関係
<a name="cloudwatch-metrics-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#cloudwatch-metrics-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 3.2.0 ]

次の表に、このコンポーネントのバージョン 3.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 3.0.0 - 3.1.0 ]

次の表に、このコンポーネントのバージョン 3.0.0 から 3.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 2.1.4 - 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.4 から 2.1.9 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.4 - 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.4 および 2.1.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.2 - 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.2 および 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 - 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.8 から 2.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="cloudwatch-metrics-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v3.x ]

 `PublishInterval`   
(オプション) 特定の名前空間にメトリクスのバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、`0` を指定します。  
コンポーネントは、同じ名前空間内でメトリクスを 20 個受信した後、または指定した間隔後に、CloudWatch にパブリッシュされます。  
コンポーネントは、イベントがパブリッシュされる順序を指定しません。
この値の最大値は 900 秒です。  
デフォルト: 10 秒

 `MaxMetricsToRetain`   
(オプション) コンポーネントが新しいメトリクスに置き換わる前にメモリに保存される、すべての名前空間全体でのメトリクスの最大数です。  
この制限はコアデバイスがインターネットに接続していないときに適用され、コンポーネントは後でパブリッシュするためにメトリクスをバッファします。バッファが満杯になると、コンポーネントは最も古いメトリクスを新しいメトリクスに置き換えます。特定の名前空間内のメトリクスは、同じ名前空間内のメトリクスにのみ置き換えられます。  
ホストによるコンポーネント処理が中断された場合、コンポーネントはメトリクスを保存しません。この状況は、例えばデプロイ中やコアデバイスの再起動時に発生する可能性があります。
この値は 2,000 メトリクス以上に指定する必要があります。  
デフォルト: 5,000 メトリクス

`InputTopic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`PubSubToIoTCore` の `true` を指定した場合、このトピックで MQTT ワイルドカード (\$1 および \$1) を使用できます。  
デフォルト: `cloudwatch/metric/put`

`OutputTopic`  
(オプション) コンポーネントがステータスレスポンスをパブリッシュする先となるトピック。  
デフォルト: `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(オプション) AWS IoT Core MQTT トピックにパブリッシュしてサブスクライブするかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
デフォルト: `false`

`LogLevel`  
(オプション) コンポーネントのログレベル。こちらにレベル順に一覧表示されているログレベルから選択します。  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
デフォルト: `INFO`

`UseInstaller`  
(オプション) このコンポーネントの SDK 依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義するブール値。  
依存関係のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を `false` に設定します。このコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、デフォルトの Greengrass システムユーザーを利用できるようにする必要があります。  
+ [AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK for Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
デフォルト: `true`

`PublishRegion`  
(オプション) CloudWatch メトリクスを発行する AWS リージョン 先の 。この値は、コアデバイスのデフォルトのリージョンを上書きします。このパラメータは、クロスリージョンメトリクスにのみ必要です。

`accessControl`  
(オプション) コンポーネントが指定されているトピックにパブリッシュしサブスクライブできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)が含まれるオブジェクト。`InputTopic` および `OutputTopic` のカスタム値を指定した場合には、このオブジェクトのリソース値も更新する必要があります。  
デフォルト:   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  }
}
```

**Example 例: 設定マージの更新**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v2.x ]

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

 `lambdaParams`   
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
 `EnvironmentVariables`   
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
 `PUBLISH_INTERVAL`   
(オプション) 特定の名前空間にメトリクスのバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、`0` を指定します。  
コンポーネントは、同じ名前空間内でメトリクスを 20 個受信した後、または指定した間隔後に、CloudWatch にパブリッシュされます。  
このコンポーネントは、イベントがパブリッシュされる順序を保証しません。
この値は最大 900 秒になります。  
デフォルト: 10 秒  
 `MAX_METRICS_TO_RETAIN`   
(オプション) コンポーネントが新しいメトリクスに置き換わる前にメモリに保存される、すべての名前空間全体でのメトリクスの最大数です。  
この制限はコアデバイスがインターネットに接続していないときに適用され、コンポーネントは後でパブリッシュするためにメトリクスをバッファします。バッファが満杯になると、コンポーネントは最も古いメトリクスを新しいメトリクスに置き換えます。特定の名前空間内のメトリクスは、同じ名前空間内のメトリクスにのみ置き換えられます。  
ホストによるコンポーネント処理が中断された場合、コンポーネントはメトリクスを保存しません。この状況は、例えばデプロイ中やコアデバイスの再起動時に発生する可能性があります。
この値は 2,000 メトリクス以上に指定する必要があります。  
デフォルト: 5,000 メトリクス  
 `PUBLISH_REGION`   
(オプション) CloudWatch メトリクスを発行する AWS リージョン 先の 。この値は、コアデバイスのデフォルトのリージョンを上書きします。このパラメータは、クロスリージョンメトリクスにのみ必要です。

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。
デフォルト: `GreengrassContainer`

 `containerParams`   
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
 `memorySize`   
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 64 MB (65,535 KB) です。

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  

```
{
  "containerMode": "GreengrassContainer"
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  

```
{
  "containerMode": "NoContainer"
}
```

------

## 入力データ
<a name="cloudwatch-metrics-component-input-data"></a>

このコンポーネントは、次のトピックに関するメトリクスを受け取り、メトリクスを CloudWatch にパブリッシュします。<a name="connector-component-local-publish"></a>デフォルトで、このコンポーネントはローカルのパブリッシュ/サブスクライブメッセージにサブスクライブします。カスタムコンポーネントからこのコンポーネントにメッセージをパブリッシュする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

コンポーネントバージョン v3.0.0 以降では、オプションで `PubSubToIoTCore` 設定パラメータを `true` に設定することで、MQTT トピックをサブスクライブするようにこのコンポーネントを設定することができます。カスタムコンポーネントで MQTT トピックにメッセージをパブリッシュする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

 **既定のトピック:** `cloudwatch/metric/put` 

<a name="connector-component-input-properties"></a>メッセージは、次のプロパティを受付けます。入力メッセージは JSON 形式である必要があります。

 `request`   
このメッセージのメトリクス。  
リクエストオブジェクトには、CloudWatch にパブリッシュするメトリクスデータが含まれています。メトリクス値は、 [https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html) 動作の仕様を満たしている必要があります。  
タイプ: 次の情報が含まれる `object`。    
 `namespace`   
このリクエスト内のメトリクスデータのユーザー定義による名前空間。CloudWatch はメトリクスデータポイントのコンテナとして名前空間を使用します。  
予約済みの文字列 `AWS/` で始まる名前空間を指定することはできません。
型: `string`  
有効なパターン: `[^:].*`  
 `metricData`   
メトリクスのデータ。  
タイプ: 次の情報が含まれる `object`。    
 `metricName`   
メトリクスの名前。  
型: `string`  
 `value`   
メトリクスの値。  
CloudWatch は小さすぎる値または大きすぎる値を拒否します。この値は、`8.515920e-109` から `1.174271e+108` (ベース 10) または `2e-360` から `2e360` (ベース 2) の間の値である必要があります。CloudWatch は、`NaN`、`+Infinity`、および `-Infinity` などの特殊な値をサポートしていません。
型: `double`  
 `dimensions`   
(オプション) メトリクスのディメンション。ディメンションは、メトリクスとそのデータに関する追加情報を提供します。1 つのメトリクスでは、最大 10 個のディメンションを定義できます。  
このコネクタには `coreName` という名前のディメンションが自動的に含まれ、そのコアデバイスの名前を値に持ちます。  
タイプ: `array` のオブジェクトであり、各々に次の情報が含まれます。    
 `name`   
(オプション) ディメンション名。  
型: `string`  
 `value`   
(オプション) ディメンション値。  
型: `string`  
 `timestamp`   
(オプション) データが受信された時間。UNIX エポック時間で秒単位で表されます。  
デフォルトは、コンポーネントがメッセージを受信した時間です。  
型: `double`  
このコンポーネントのバージョン 2.0.3～2.0.7 を使用する場合は、1 つのソースから複数のメトリクスを送信するときに、メトリクスごとに個別にタイムスタンプを取得することをお勧めします。タイムスタンプを保存するのに変数を使用してしないでください。  
 `unit`   
(オプション) メトリクスの単位。  
型: `string`  
有効な値: `Seconds`、`Microseconds`、`Milliseconds`、`Bytes`、`Kilobytes`、`Megabytes`、`Gigabytes`、`Terabytes`、`Bits`、`Kilobits`、`Megabits`、`Gigabits`、`Terabits`、`Percent`、`Count`、`Bytes/Second`、`Kilobytes/Second`、`Megabytes/Second`、`Gigabytes/Second`、`Terabytes/Second`、`Bits/Second`、`Kilobits/Second`、`Megabits/Second`、`Gigabits/Second`、`Terabits/Second`、`Count/Second`、`None`  
デフォルトは `None` です。

**注記**  
CloudWatch `PutMetricData` API に適用されるすべての制限は、このコンポーネントでパブリッシュするメトリクススにも適用されます。以下の制限は特に重要です。  
API ペイロードに適用される 40 KB の制限
API リクエストごとに 20 個のメトリクス
`PutMetricData` API の 150 トランザクション/秒 (TPS)
詳細については、「*CloudWatch ユーザーガイド*」の「[CloudWatch サービスクォータ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)」を参照してください。

**Example 入力例**  

```
{
  "request": {
    "namespace": "Greengrass",
    "metricData": {
      "metricName": "latency",
      "dimensions": [
        {
          "name": "hostname",
          "value": "test_hostname"
        }
      ],
      "timestamp": 1539027324,
      "value": 123.0,
      "unit": "Seconds"
    }
  }
}
```

## 出力データ
<a name="cloudwatch-metrics-component-output-data"></a>

 <a name="connector-component-output-data-pubsub"></a>このコンポーネントは、デフォルトで次のローカルパブリッシュ/サブスクライブトピックに出力データとしてレスポンスをパブリッシュします。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

オプションで、`PubSubToIoTCore` 設定パラメータを `true` に設定することで。このコンポーネントが MQTT トピックにパブリッシュするように設定することができます。カスタムコンポーネントで MQTT トピックのメッセージにサブスクライブする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

**注記**  
コンポーネントバージョン 2.0.x では、デフォルトでレスポンスが MQTT トピックに出力データとしてパブリッシュされます。このトピックは、[レガシーサブスクリプションルーターコンポーネント](legacy-subscription-router-component.md)の設定で `subject` として指定する必要があります。

 **既定のトピック:** `cloudwatch/metric/put/status` 

**Example 出力例: 成功**  
レスポンスには、メトリクスデータの名前空間と CloudWatch レスポンスの `RequestId` フィールドが含まれています。  

```
{
  "response": {
    "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
    "namespace": "Greengrass",
    "status": "success"
  }
}
```

**Example 出力例: 失敗**  

```
{
  "response" : {
    "namespace": "Greengrass",
    "error": "InvalidInputException",
    "error_message": "cw metric is invalid",
    "status": "fail"
  }
}
```

**注記**  <a name="connector-component-retryable-error"></a>
コンポーネントが、接続エラーなどの再試行可能なエラーを検出した場合、次のバッチでパブリッシュを再試行します。

## ライセンス
<a name="cloudwatch-metrics-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。<a name="boto-3-licenses"></a>
+ [AWS SDK for Python (Boto3)](https://pypi.org/project/boto3/)/Apache License 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache License 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF ライセンス
+ [docutils](https://pypi.org/project/docutils/)/BSD ライセンス、GNU 一般パブリックライセンス (GPL)、Python Software Foundation ライセンス、パブリックドメイン
+ [jmespath](https://pypi.org/project/jmespath/)/MIT ライセンス
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache License 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT ライセンス

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## ローカルログファイル
<a name="cloudwatch-metrics-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.Cloudwatch.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Cloudwatch.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="cloudwatch-metrics-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。

------
#### [ v3.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.0.0  |  <a name="changelog-cloudwatch-metrics-3.0.0-major-version-changes"></a>このバージョンの CloudWatch メトリクスコンポーネントでは、バージョン 2.x 以外の設定パラメータが必要です。バージョン 2.x でデフォルト以外の設定を使用し、v2.x から v3.x にアップグレードする場合は、コンポーネントの設定を更新する必要があります。詳細については、「[CloudWatch メトリクスのコンポーネント設定](#cloudwatch-metrics-component-configuration)」を参照してください。 <a name="changelog-cloudwatch-metrics-3.0.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 

------
#### [ v2.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.8  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

------

## 関連情報
<a name="cloudwatch-metrics-component-see-also"></a>
+ *Amazon CloudWatch ユーザーガイド*の [Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)
+ 「*Amazon CloudWatch API リファレンス*」の「[PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)」