AWS IoT のメトリクスとディメンション - AWS IoT Core

AWS IoT のメトリクスとディメンション

AWS IoT を操作するとき、以下のメトリクスとディメンションが 1 分間隔で CloudWatch に送信されます。 のメトリクスを表示するには、以下の手順を使用できますAWS IoT

メトリクスを表示するには (CloudWatch コンソール)

メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

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

  3. [カテゴリ別の CloudWatch メトリクス] ペインの AWS IoT のメトリクスカテゴリで、メトリクススカテゴリを選択します。次に、上のペインで下にスクロールしてメトリクスを一覧表示します。

メトリクスを表示するには (CLI)

  • コマンドプロンプトで、次のコマンドを使用します。

    aws cloudwatch list-metrics --namespace "AWS/IoT"

AWS IoT のメトリクス

メトリクス 説明

AddThingToDynamicThingGroupsFailed

モノの動的グループへのモノの追加に関連する失敗イベントの数。DynamicThingGroupName ディメンションには、モノの追加に失敗した動的グループの名前が含まれています。

NumLogBatchesFailedToPublishThrottled

スロットリングエラーのために発行に失敗したログイベントの単数のバッチ。

NumLogEventsFailedToPublishThrottled

バッチ内でスロットリングエラーのために発行に失敗したログイベントの数。

AWS IoT Core 認証情報プロバイダーのメトリクス

メトリクス 説明

CredentialExchangeSuccess

AWS IoT Core 認証情報プロバイダーへの AssumeRoleWithCertificate リクエストが成功した数。

ルールのメトリクス

メトリクス 説明

ParseError

ルールがリッスンしているトピックで発行されたメッセージで発生した JSON 解析エラーの数。RuleName ディメンションにはルールの名前が含まれます。

RuleMessageThrottled

悪意のある動作のため、またはメッセージの数がルールエンジンのスロットル制限を超えているために、ルールエンジンによってスロットリングされたメッセージの数。RuleName ディメンションには、トリガーされるルールの名前が入っています。

RuleNotFound

トリガーされるルールが見つかりませんでした。RuleName ディメンションにはルールの名前が含まれます。

RulesExecuted

実行される AWS IoT ルールの数。

TopicMatch

ルールがリッスンしているトピックで発行された受信メッセージの数。RuleName ディメンションにはルールの名前が含まれます。

ルールアクションのメトリクス

メトリクス 説明

Failure

失敗したルールアクションの呼び出しの数。RuleName ディメンションには、アクションを指定するルールの名前が含まれます。ActionType ディメンションには、呼び出されたアクションのタイプが含まれます。

Success

正常なルールアクションの呼び出しの数。RuleName ディメンションには、アクションを指定するルールの名前が含まれます。ActionType ディメンションには、呼び出されたアクションのタイプが含まれます。

ErrorActionFailure 失敗したエラーアクションの数。RuleName ディメンションには、アクションを指定するルールの名前が含まれます。ActionTypeディメンションには、呼び出されたアクションのタイプが含まれます。
ErrorActionSuccess 成功したエラーアクションの数。RuleNameディメンションには、アクションを指定するルールの名前が含まれます。ActionType ディメンションには、呼び出されたアクションのタイプが含まれます。

HTTP アクション固有のメトリクス

メトリクス 説明

HttpCode_Other

ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 2xx、4xx、または 5xx でない場合に生成されます。

HttpCode_4XX

ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 400 ~ 499 の場合に生成されます。

HttpCode_5XX

ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 500 ~ 599 の場合に生成されます。

HttpInvalidUrl

置換テンプレートが置き換えられた後にエンドポイント URL が https:// で始まらない場合に生成されます。

HttpRequestTimeout

ダウンストリームウェブサービス/アプリケーションが要求タイムアウト制限内で応答を返さない場合に生成されます。詳細については、「Service Quotas」を参照してください。

HttpUnknownHost

URL が有効であるが、サービスが存在しないか、到達不能である場合に生成されます。

メッセージブローカーのメトリクス

注記

メッセージブローカーのメトリクスは、CloudWatch コンソールの [Protocol Metrics] (プロトコルメトリクス) に表示されます。

メトリクス 説明

Connect.AuthError

メッセージブローカーが承認できなかった接続リクエストの数。Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Connect.ClientError

「」で定義された要件を MQTT メッセージが満たさなかったために拒否された接続リクエストの数AWS IoT のクォータ Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Connect.ClientIDThrottle

特定のクライアント ID で許可された接続リクエストの頻度をクライアントが超えたために調整された接続リクエストの数。Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Connect.ServerError

内部エラーが発生したために失敗した接続リクエストの数。Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Connect.Success

メッセージブローカーへ正常な接続の数。Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Connect.Throttle

許可された接続リクエストの頻度をアカウントが超えたために調整された接続リクエストの数。Protocol ディメンションには、CONNECT メッセージの送信に使用されたプロトコルが含まれます。

Ping.Success

メッセージブローカーによって受け取られた ping メッセージの数。Protocol ディメンションには、ping メッセージの送信に使用されたプロトコルが含まれます。

PublishIn.AuthError

メッセージブローカーが承認できなかった発行リクエストの数。Protocol ディメンションには、メッセージの発行に使用されたプロトコルが含まれます。

PublishIn.ClientError

「」で定義された要件をメッセージが満たさなかったためにメッセージブローカーによって拒否された発行リクエストの数AWS IoT のクォータ Protocol ディメンションには、メッセージの発行に使用されたプロトコルが含まれます。

PublishIn.ServerError

内部エラーが発生したためにメッセージブローカーが処理に失敗した発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishIn.Success

メッセージブローカーによって正常に処理された発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishIn.Throttle

許可されたインバウンドメッセージの頻度をクライアントが超えたために調整された発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishOut.AuthError

AWS IoT が承認できなかった、メッセージブローカーによって行われた発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishOut.ClientError

「」で定義された要件をメッセージが満たさなかったために拒否された、メッセージブローカーからの発行リクエストの数AWS IoT のクォータ Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishOut.Success

メッセージブローカーによって正常に行われた発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishOut.Throttle

許可されたアウトバウンドメッセージの頻度をクライアントが超えたために調整された発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishRetained.AuthError

メッセージブローカーが承認できなかった、RETAIN フラグが設定されている発行リクエストの数。Protocol ディメンションには、PUBLISHメッセージの送信に使用されたプロトコルが含まれます。

PublishRetained.ServerError

内部エラーが発生したためにメッセージブローカーが処理に失敗した、保持されている発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishRetained.Success

メッセージブローカーによって正常に処理された、RETAIN フラグが設定されている発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

PublishRetained.Throttle

クライアントが許可されたインバウンドメッセージレートを超過したためにスロットルされた、RETAIN フラグが設定されている発行リクエストの数。Protocol ディメンションには、PUBLISH メッセージの送信に使用されたプロトコルが含まれます。

Subscribe.AuthError

クライアントによって行われ、承認できなかったサブスクリプションリクエストの数。Protocol ディメンションには、SUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Subscribe.ClientError

SUBSCRIBE メッセージが、AWS IoT のクォータ で定義されている要件を満たさなかったために拒否されたサブスクリプションのリクエストの数。Protocol ディメンションには、SUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Subscribe.ServerError

内部エラーが発生したために拒否されたサブスクリプションのリクエストの数。Protocol ディメンションには、SUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Subscribe.Success

メッセージブローカーによって正常に処理されたサブスクリプションのリクエストの数。Protocol ディメンションには、SUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Subscribe.Throttle

許可されたサブスクリプションのリクエストの頻度をクライアントが超えたために調整されたサブスクリプションのリクエストの数。Protocol ディメンションには、SUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Unsubscribe.ClientError

UNSUBSCRIBE メッセージが、 AWS IoT のクォータ で定義されている要件を満たさなかったために拒否されたサブスクリプション解除リクエストの数。Protocol ディメンションには、UNSUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Unsubscribe.ServerError

内部エラーが発生したために拒否されたサブスクリプション解除リクエストの数。Protocol ディメンションには、UNSUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Unsubscribe.Success

メッセージブローカーによって正常に処理されたサブスクリプション解除リクエストの数。Protocol ディメンションには、UNSUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Unsubscribe.Throttle

許可されたサブスクリプション解除リクエストの頻度をクライアントが超えたために拒否されたサブスクリプション解除リクエストの数。Protocol ディメンションには、UNSUBSCRIBE メッセージの送信に使用されたプロトコルが含まれます。

Device Shadow のメトリクス

注記

Device Shadow メトリクスは、CloudWatch コンソールの [Protocol Metrics] (プロトコルメトリクス) に表示されます。

メトリクス 説明

DeleteThingShadow.Accepted

正常に処理された DeleteThingShadow リクエストの数。Protocol ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。

GetThingShadow.Accepted

正常に処理されたGetThingShadow リクエストの数。Protocol ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。

ListThingShadow.Accepted

正常に処理されたListThingShadow リクエストの数。Protocol ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。

UpdateThingShadow.Accepted

正常に処理された UpdateThingShadow リクエストの数。Protocol ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。

ジョブのメトリクス

メトリクス 説明

CanceledJobExecutionCount

CloudWatch によって決定された期間中にステータスが CANCELED に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

CanceledJobExecutionTotalCount

指定されたジョブのステータスが CANCELED であるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

ClientErrorCount

ジョブの実行中に生成されたクライアントエラーの数。JobId ディメンションには、ジョブの ID が含まれます。

FailedJobExecutionCount

CloudWatch によって決定された期間中にステータスが FAILED に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

FailedJobExecutionTotalCount

指定されたジョブのステータスが FAILED であるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

InProgressJobExecutionCount

CloudWatch によって決定された期間中にステータスが IN_PROGRESSに変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

InProgressJobExecutionTotalCount

指定されたジョブのステータスが IN_PROGRESS であるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

RejectedJobExecutionTotalCount

指定されたジョブのステータスが REJECTED であるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

RemovedJobExecutionTotalCount

指定されたジョブのステータスが REMOVEDであるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

QueuedJobExecutionCount

CloudWatch によって決定された期間中にステータスが QUEUED に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

QueuedJobExecutionTotalCount

指定されたジョブのステータスが QUEUEDであるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

RejectedJobExecutionCount

CloudWatch によって決定された期間中にステータスが REJECTED に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

RemovedJobExecutionCount

CloudWatch によって決定された期間中にステータスが REMOVED に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

ServerErrorCount

ジョブの実行中に生成されたサーバーエラーの数。JobId ディメンションには、ジョブの ID が含まれます。

SuccededJobExecutionCount

CloudWatch によって決定された期間中にステータスが SUCCESS に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。) JobId ディメンションには、ジョブの ID が含まれます。

SuccededJobExecutionTotalCount

指定されたジョブのステータスが SUCCESSであるジョブ実行の総数。JobId ディメンションには、ジョブの ID が含まれます。

Device Defender の監査メトリクス

メトリクス 説明

NonCompliantResources

チェックの結果、準拠していないことが判明したリソースの数。システムは実行した各監査のチェックごとに非準拠のリソースの数を報告します。

ResourcesEvaluated

準拠状況を評価したリソースの数。システムは実行した各監査のチェックごとに評価したリソースの数を報告します。

Device Defender の検出メトリクス

メトリクス 説明

Violations

前回実施した評価以降に判明したセキュリティプロファイル動作の新しい違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウントの新しい違反の数を報告します。

ViolationsCleared

前回実施した評価以降に解決されたセキュリティプロファイル動作の違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウントの解決された違反の数を報告します。

ViolationsInvalidated

前回実施した評価以降に (レポートデバイスがレポートを停止したか、何らかの理由でモニタリングが中止されたために) 情報が使用できなくなったセキュリティプロファイル動作の違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウント全体の無効化された違反の数を報告します。

デバイスプロビジョニングのメトリクス

AWS IoT フリートプロビジョニングのメトリクス
メトリクス 説明

ApproximateNumberOfThingsRegistered

フリートプロビジョニングによって登録されたモノの数。

カウントは一般的に正確ですが、 AWS IoT Core の分散アーキテクチャでは、登録されたモノの正確なカウントを維持することが難しくなります。

このメトリクスに使用する統計は次のとおりです。

  • Max を使用して、登録されているモノの合計数を報告します。CloudWatch 集計期間中に登録されたモノの数については、RegisterThingFailed メトリクスを参照してください。

ディメンション: ClaimCertificateId

CreateKeysAndCertificateFailed

CreateKeysAndCertificate MQTT API の呼び出しで発生した失敗の数。

このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に作成および登録された証明書の数を追跡できます。

このメトリクスに使用できる統計は次のとおりです。

  • Sum を使用して、失敗した呼び出しの数を報告します。

  • SampleCount を使用して、成功した呼び出しと失敗した呼び出しの合計数を報告します。

CreateCertificateFromCsrFailed

CreateCertificateFromCsr MQTT API の呼び出しで発生した失敗の数。

このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に登録されたモノの数を追跡できます。

このメトリクスに使用できる統計は次のとおりです。

  • Sum を使用して、失敗した呼び出しの数を報告します。

  • SampleCount を使用して、成功した呼び出しと失敗した呼び出しの合計数を報告します。

RegisterThingFailed

RegisterThingMQTT API の呼び出しで発生した失敗の数。

このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に登録されたモノの数を追跡できます。登録されたモノの総数については、ApproximateNumberOfThingsRegistered メトリクスを参照してください。

このメトリクスに使用できる統計は次のとおりです。

  • Sum を使用して、失敗した呼び出しの数を報告します。

  • SampleCount を使用して、成功した呼び出しと失敗した呼び出しの合計数を報告します。

ディメンション: TemplateName

ジャストインタイムのプロビジョニングメトリクス
メトリクス 説明

ProvisionThing.ClientError

クライアントエラーが原因でデバイスがプロビジョニングに失敗した回数。例えば、テンプレートで指定されたポリシーが存在しませんでした。

ProvisionThing.ServerError

サーバーエラーが原因でデバイスがプロビジョニングに失敗した回数。お客様は待機してからデバイスのプロビジョニングを再試行することができるとともに、問題が解決しない場合は AWS IoT に問い合わせることができます。

ProvisionThing.Success

デバイスが正常にプロビジョニングされた回数。

メトリクスのディメンション

メトリクスは名前空間を使用し、以下のディメンションのメトリクスを提供します
ディメンション 説明
ActionType

リクエストによってトリガーされたルールで指定されたアクションのタイプ

BehaviorName

モニタリングされている Device Defender Detect セキュリティプロファイルの動作の名前。

ClaimCertificateId

デバイスのプロビジョニングに使用されるクレームの certificateId

CheckName

結果がモニタリングされている Device Defender 監査チェックの名前。

JobId

進行状況またはメッセージ接続の成功/失敗が監視されているジョブの ID。

Protocol

リクエストを行うために使用されるプロトコル。有効な値: MQTT または HTTP

RuleName

リクエストによってトリガーされたルールの名前。

ScheduledAuditName

チェックの結果がモニタリングされている Device Defender のスケジュールされた監査の名前。オンデマンドで実行された監査の結果がレポートされた場合、この値は OnDemand になります。

SecurityProfileName

動作がモニタリングされている Device Defender Detect セキュリティプロファイルの名前。

TemplateName

プロビジョニングテンプレートの名前。