翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudWatch メトリクス
Amazon CloudWatch メトリクスコンポーネント (aws.greengrass.Cloudwatch
) は、Greengrass コアデバイスから Amazon にカスタムメトリクスを発行します CloudWatch。コンポーネントを使用すると、コンポーネントはメトリクスを公開できます。この CloudWatch メトリクスを使用して、Greengrass コアデバイスの環境をモニタリングおよび分析できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon メトリクスの使用 CloudWatch 」を参照してください。
このコンポーネントで CloudWatch メトリクスを発行するには、このコンポーネントがサブスクライブするトピックにメッセージを発行します。デフォルトでは、このコンポーネントは cloudwatch/metric/put
ローカルパブリッシュ/サブスクライブトピックにサブスクライブします。このコンポーネントをデプロイするときに、トピックを含む AWS IoT Core MQTT他のトピックを指定できます。
このコンポーネントは、同じ名前空間にあるメトリクスをバッチ処理し、定期的に CloudWatch に発行します。
このコンポーネントは、 AWS IoT Greengrass V1 の CloudWatch メトリクスコネクタと同様の機能を提供します。詳細については、AWS IoT Greengrass 「 V1 デベロッパーガイド」のCloudWatch 「メトリクスコネクタ」を参照してください。
バージョン
このコンポーネントには、次のバージョンがあります。
コンポーネントの各バージョンに対する変更については、「変更ログ」を参照してください。
タイプ
- v3.x
-
このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic
) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。
- v2.x
-
このコンポーネントは Lambda コンポーネントです (aws.greengrass.lambda
)。Greengrass nucleus は、Lambda ランチャーコンポーネントを使用してこのコンポーネントの Lambda 関数を実行します。
詳細については、「コンポーネントタイプ」を参照してください。
オペレーティングシステム
- v3.x
-
このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
- v2.x
-
このコンポーネントは、Linux コアデバイスにのみインストールできます。
要件
このコンポーネントには次の要件があります。
- 3.x
-
- 2.x
-
-
コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「Lambda 関数の要件」を参照してください。
-
Python バージョン 3.7 がコアデバイスにインストールされ、 PATH 環境変数に追加されました。
-
次のIAMポリシー例に示すように、Greengrass デバイスロールは cloudwatch:PutMetricData
アクションを許可する必要があります。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:PutMetricData"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon アクセス許可リファレンス CloudWatch 」を参照してください。
-
このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムをレガシーサブスクリプションルーターのコンポーネント (aws.greengrass.LegacySubscriptionRouter
) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。
Legacy subscription router v2.1.xLegacy subscription router v2.0.x
- 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"
}
}
}
-
置換 region
を、使用する AWS リージョン で使用します。
-
置換 version
このコンポーネントが実行する Lambda 関数のバージョン。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。AWS IoT Greengrass コンソールで、このコンポーネントの詳細ページを開き、[Lambda function] (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。
詳細については、「デプロイの作成」を参照してください。
エンドポイントおよびポート
このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。
エンドポイント |
[ポート] |
必要 |
説明 |
monitoring.region .amazonaws.com
|
443 |
あり |
CloudWatch メトリクスをアップロードします。
|
依存関係
コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。
- 3.0.0 - 3.1.0
-
次の表に、このコンポーネントのバージョン 3.0.0 から 3.1.0 までの依存関係を示します。
- 2.1.4 - 2.1.8
-
次の表に、このコンポーネントのバージョン 2.1.4 および 2.1.8 の依存関係を示します。
- 2.1.2 - 2.1.3
-
次の表に、このコンポーネントのバージョン 2.1.2 および 2.1.3 の依存関係を示します。
- 2.1.1
-
次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。
- 2.0.8 - 2.1.0
-
次の表に、このコンポーネントのバージョン 2.0.8 から 2.1.0 までの依存関係を示します。
- 2.0.7
-
次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。
- 2.0.6
-
次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。
- 2.0.5
-
次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。
- 2.0.4
-
次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。
- 2.0.3
-
次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。
コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。
構成
このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。
- v3.x
-
-
PublishInterval
-
(オプション) 特定の名前空間にメトリクスのバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、0
を指定します。
コンポーネントは、同じ名前空間で 20 個のメトリクスを受け取った CloudWatch 後、または指定した間隔後に に発行されます。
コンポーネントは、イベントがパブリッシュされる順序を指定しません。
この値の最大値は 900 秒です。
デフォルト: 10 秒
-
MaxMetricsToRetain
-
(オプション) コンポーネントが新しいメトリクスに置き換わる前にメモリに保存される、すべての名前空間全体でのメトリクスの最大数です。
この制限はコアデバイスがインターネットに接続していないときに適用され、コンポーネントは後でパブリッシュするためにメトリクスをバッファします。バッファが満杯になると、コンポーネントは最も古いメトリクスを新しいメトリクスに置き換えます。特定の名前空間内のメトリクスは、同じ名前空間内のメトリクスにのみ置き換えられます。
ホストによるコンポーネント処理が中断された場合、コンポーネントはメトリクスを保存しません。この状況は、例えばデプロイ中やコアデバイスの再起動時に発生する可能性があります。
この値は 2,000 メトリクス以上に指定する必要があります。
デフォルト: 5,000 メトリクス
InputTopic
-
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。true
に を指定する場合はPubSubToIoTCore
、このトピックでMQTTワイルドカード (+ と #) を使用できます。
デフォルト: cloudwatch/metric/put
OutputTopic
-
(オプション) コンポーネントがステータスレスポンスをパブリッシュする先となるトピック。
デフォルト: cloudwatch/metric/put/status
PubSubToIoTCore
-
(オプション) AWS IoT Core MQTTトピックを公開およびサブスクライブするかどうかを定義する文字列値。サポートされている値は、true
および false
です。
デフォルト: false
UseInstaller
-
(オプション) このコンポーネントのSDK依存関係をインストールするために、このコンポーネントのインストーラスクリプトを使用するかどうかを定義するブール値。
依存関係のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を false
に設定します。このコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、デフォルトの Greengrass システムユーザーを利用できるようにする必要があります。
デフォルト: true
PublishRegion
-
(オプション) CloudWatch メトリクスを発行 AWS リージョン する先の 。この値は、コアデバイスのデフォルトのリージョンを上書きします。このパラメータは、クロスリージョンメトリクスにのみ必要です。
accessControl
-
(オプション) コンポーネントが指定されているトピックにパブリッシュしサブスクライブできるようにする承認ポリシーが含まれるオブジェクト。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
"
]
}
}
}
例: 設定マージの更新
{
"PublishInterval": 0,
"PubSubToIoTCore": true
}
- v2.x
-
このコンポーネントのデフォルト設定には、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
-
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。
デフォルト: GreengrassContainer
-
containerParams
-
(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。containerMode
の GreengrassContainer
を指定した場合、コンポーネントはこれらのパラメータを使用します。
このオブジェクトには、次の情報が含まれます。
-
memorySize
-
(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。
デフォルトは 64 MB (65,535 KB) です。
pubsubTopics
-
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが からMQTTトピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピック AWS IoT Core をサブスクライブするかを指定できます。
このオブジェクトには、次の情報が含まれます。
0
- これは文字列としての配列インデックスです。
-
次の情報が含まれるオブジェクト。
type
-
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。
-
PUB_SUB
- ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックにMQTTワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「ローカルメッセージをパブリッシュ/サブスクライブする」を参照してください。
-
IOT_CORE
– メッセージをサブスクライブします AWS IoT Core MQTT。このオプションを選択すると、トピックにMQTTワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「メッセージの発行/サブスクライブ AWS IoT Core MQTT 」を参照してください。
デフォルト: PUB_SUB
topic
-
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。IotCore
に を指定する場合はtype
、このトピックでMQTTワイルドカード (+
および #
) を使用できます。
例: 設定マージの更新 (コンテナモード)
{
"containerMode": "GreengrassContainer"
}
例: 設定マージの更新 (コンテナモードなし)
{
"containerMode": "NoContainer"
}
このコンポーネントは、次のトピックのメトリクスを受け入れ、メトリクスを に発行します CloudWatch。デフォルトで、このコンポーネントはローカルのパブリッシュ/サブスクライブメッセージにサブスクライブします。カスタムコンポーネントからこのコンポーネントにメッセージをパブリッシュする方法の詳細については、「ローカルメッセージをパブリッシュ/サブスクライブする」を参照してください。
コンポーネントバージョン v3.0.0 以降では、 設定PubSubToIoTCore
パラメータを に設定することで、オプションでこのコンポーネントを MQTTトピックにサブスクライブするように設定できますtrue
。カスタムコンポーネントの MQTTトピックへのメッセージの発行の詳細については、「」を参照してくださいメッセージの発行/サブスクライブ AWS IoT Core MQTT 。
既定のトピック: cloudwatch/metric/put
メッセージは、次のプロパティを受付けます。入力メッセージは JSON形式である必要があります。
-
request
-
このメッセージのメトリクス。
リクエストオブジェクトには、 に発行するメトリクスデータが含まれています CloudWatch。メトリクス値は、 PutMetricData
動作の仕様を満たしている必要があります。
タイプ: 次の情報が含まれる object
。
-
namespace
-
この request. CloudWatch uses のメトリクスデータのユーザー定義名前空間は、メトリクスデータポイントのコンテナとして名前空間を使用します。
予約済みの文字列 AWS/
で始まる名前空間を指定することはできません。
タイプ: string
有効なパターン: [^:].*
-
metricData
-
メトリクスのデータ。
タイプ: 次の情報が含まれる object
。
-
metricName
-
メトリクスの名前。
タイプ: string
-
value
-
メトリクスの値。
CloudWatch は、小さすぎる、または大きすぎる値を拒否します。値は、 8.515920e-109
と 1.174271e+108
(ベース 10) または 2e-360
と 2e360
(ベース 2) の間でなければなりません。NaN
、、 などの特別な値は CloudWatch サポートされていません+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に適用されます。以下の制限は特に重要です。
詳細については、「 ユーザーガイドCloudWatch 」の「 サービスクォータCloudWatch 」を参照してください。
例 入力例
{
"request": {
"namespace": "Greengrass",
"metricData": {
"metricName": "latency",
"dimensions": [
{
"name": "hostname",
"value": "test_hostname"
}
],
"timestamp": 1539027324,
"value": 123.0,
"unit": "Seconds"
}
}
}
出力データ
このコンポーネントは、デフォルトで次のローカルパブリッシュ/サブスクライブトピックに出力データとしてレスポンスをパブリッシュします。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「ローカルメッセージをパブリッシュ/サブスクライブする」を参照してください。
オプションで、 設定PubSubToIoTCore
パラメータを に設定することで、 MQTTトピックに発行するようにこのコンポーネントを設定できますtrue
。カスタムコンポーネントの MQTTトピックでメッセージをサブスクライブする方法の詳細については、「」を参照してくださいメッセージの発行/サブスクライブ AWS IoT Core MQTT 。
既定のトピック: cloudwatch/metric/put/status
例 出力例: 成功
レスポンスには、メトリクスデータの名前空間と CloudWatch レスポンスの RequestId
フィールドが含まれます。
{
"response": {
"cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
"namespace": "Greengrass",
"status": "success"
}
}
例 出力例: 失敗
{
"response" : {
"namespace": "Greengrass",
"error": "InvalidInputException",
"error_message": "cw metric is invalid",
"status": "fail"
}
}
コンポーネントが、接続エラーなどの再試行可能なエラーを検出した場合、次のバッチでパブリッシュを再試行します。
ライセンス
このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。
このコンポーネントは、Greengrass Core ソフトウェアライセンス契約に従ってリリースされています。
ローカルログファイル
このコンポーネントは次のログファイルを使用します。
- Linux
-
/greengrass/v2
/logs/aws.greengrass.Cloudwatch.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.Cloudwatch.log
変更ログ
次の表は、コンポーネントの各バージョンにおける変更を示します。
- v3.x
-
バージョン
|
変更
|
3.1.0
|
|
3.0.0
|
このバージョンの CloudWatch メトリクスコンポーネントでは、バージョン 2.x とは異なる設定パラメータが必要です。バージョン 2.x でデフォルト以外の設定を使用し、v2.x から v3.x にアップグレードする場合は、コンポーネントの設定を更新する必要があります。詳細については、CloudWatch「メトリクスコンポーネント設定」を参照してください。
- 新機能
-
-
Windows を実行するコアデバイスのサポートが追加されました。
-
コンポーネントタイプを Lambda コンポーネントから汎用コンポーネントに変更しました。このコンポーネントは、サブスクリプションを作成するのにレガシーサブスクリプションルーターコンポーネントに依存しなくなりました。
-
コンポーネントがメッセージを受信するためにサブスクライブするトピックを指定するための、新しい InputTopic 設定パラメータが追加されました。
-
コンポーネントがステータスレスポンスをパブリッシュするトピックを指定するための、新しい OutputTopic 設定パラメータが追加されました。
-
トピックを公開およびサブスクライブ AWS IoT Core MQTTするかどうかを指定する新しいPubSubToIoTCore 設定パラメータを追加しました。
-
コンポーネントの依存関係をインストールするインストールスクリプトをオプションで無効にできる、新しい UseInstaller 設定パラメータが追加されました。
- バグ修正と機能向上
-
入力データでの重複するタイムスタンプへのサポートが追加されました。
|
- 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
|
|
2.0.8
|
|
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
|
当初のバージョン
|
以下も参照してください。