

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

# Amazon CloudWatch を使用して AWS IoT アラームとメトリクスをモニタリングする
<a name="monitoring-cloudwatch"></a>

CloudWatch AWS IoT を使用してCloudWatch は から raw データを収集し、ほぼリアルタイムの読み取り可能なメトリクス AWS IoT に加工します。これらの統計は 2 週間記録されるため、履歴情報にアクセスしてウェブアプリケーションまたはサービスの動作をより的確に把握することができます。デフォルトでは、 AWS IoT メトリクスデータは 1 分間隔で CloudWatch に自動的に送信されます。詳細については、*Amazon CloudWatch ユーザーガイド*の [Amazon CloudWatch、Amazon CloudWatch Events、Amazon CloudWatch Logs とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)をご覧ください。

## AWS IoT メトリクスの使用
<a name="how_to_use_metrics"></a>

によってレポートされるメトリクスは、さまざまな方法で分析できる情報 AWS IoT を提供します。以下のユースケースは、10 個のモノが 1 日に 1 回インターネットに接続するというシナリオに基づいています。毎日:
+ 10 AWS IoT 個のモノがほぼ同時に に接続します。
+ 各モノはトピックフィルタにサブスクライブし、接続を切断するまで 1 時間待機します。この期間中、モノは相互に情報をやり取りし、現在の状態について詳細を取得します。
+ 各モノは、`UpdateThingShadow` を使用して、その新たに取得したデータに基づいて、何らかのパーセプションをパブリッシュします。
+ 各モノは から切断されます AWS IoT。

これらのトピックでは、作業を開始しやすくするために、いくつかの質問について解説します。
+  [モノが毎日正常に接続していない場合に通知されるようにするには?](creating_alarms.md#how_to_detect_connection_failures)
+  [モノが毎日正常にデータをパブリッシュしていない場合に通知されるようにするには?](creating_alarms.md#how_to_detect_publish_failures)
+  [Thing Shadow の更新が毎日拒否されている場合に通知されるようにするには?](creating_alarms.md#detect_rejected_updates)
+  [ジョブ用の CloudWatch アラームを作成するにはどうすればよいですか。](creating_alarms.md#cw-jobs-alarms)

**Topics**
+ [AWS IoT メトリクスの使用](#how_to_use_metrics)
+ [モニタリングする CloudWatch アラームの作成 AWS IoT](creating_alarms.md)
+ [AWS IoT メトリクスとディメンション](metrics_dimensions.md)

# モニタリングする CloudWatch アラームの作成 AWS IoT
<a name="creating_alarms"></a>

アラームの状態が変わったら、Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。1 つのアラームで、指定した期間中、1 つのメトリクスを監視します。複数の期間にわたってメトリクスの値が一定のしきい値を超えると、1 つ以上のアクションが実行されます。アクションは、Amazon SNS のトピックまたは Auto Scaling のポリシーに送信される通知とすることができます。アラームは、持続している状態変化に対してのみアクションをトリガーします。CloudWatch のアラームは、メトリクスが特定の状態になっただけではアクションをトリガーしません。アクションを呼び出すには、状態が変化して、指定した期間継続している必要があります。

**Topics**
+ [モノが毎日正常に接続していない場合に通知されるようにするには?](#how_to_detect_connection_failures)
+ [モノが毎日正常にデータをパブリッシュしていない場合に通知されるようにするには?](#how_to_detect_publish_failures)
+ [Thing Shadow の更新が毎日拒否されている場合に通知されるようにするには?](#detect_rejected_updates)
+ [ジョブ用の CloudWatch アラームを作成するにはどうすればよいですか?](#cw-jobs-alarms)

 CloudWatch アラームがモニタリングできるすべてのメトリクスは、 [AWS IoT メトリクスとディメンション](metrics_dimensions.md) で確認できます。

## モノが毎日正常に接続していない場合に通知されるようにするには?
<a name="how_to_detect_connection_failures"></a>

1. `things-not-connecting-successfully` という名前の Amazon SNS トピックを作成し、対応する Amazon リソースネーム (ARN) を記録します。この手順では、トピックの ARN を ` sns-topic-arn ` とします。

   Amazon SNS 通知の作成方法については、[[Getting Started with Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)](Amazon SNS の開始方法) を参照してください。

1. アラームを作成します。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name ConnectSuccessAlarm \
       --alarm-description "Alarm when my Things don't connect successfully" \
       --namespace AWS/IoT \
       --metric-name Connect.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. アラームのテストを行います。

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. アラームが [CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch)に表示されていることを確認します。

## モノが毎日正常にデータをパブリッシュしていない場合に通知されるようにするには?
<a name="how_to_detect_publish_failures"></a>

1. `things-not-publishing-data` という名前の Amazon SNS トピックを作成し、対応する Amazon リソースネーム (ARN) を記録します。この手順では、トピックの ARN を ` sns-topic-arn ` とします。

   Amazon SNS 通知の作成方法については、[[Getting Started with Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)](Amazon SNS の開始方法) を参照してください。

1. アラームを作成します。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name PublishInSuccessAlarm\
       --alarm-description "Alarm when my Things don't publish their data \
       --namespace AWS/IoT \
       --metric-name PublishIn.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. アラームのテストを行います。

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. アラームが [CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch)に表示されていることを確認します。

## Thing Shadow の更新が毎日拒否されている場合に通知されるようにするには?
<a name="detect_rejected_updates"></a>

1. `things-shadow-updates-rejected` という名前の Amazon SNS トピックを作成し、対応する Amazon リソースネーム (ARN) を記録します。この手順では、トピックの ARN を ` sns-topic-arn ` とします。

   Amazon SNS 通知の作成方法については、[[Getting Started with Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)](Amazon SNS の開始方法) を参照してください。

1. アラームを作成します。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name UpdateThingShadowSuccessAlarm \
       --alarm-description "Alarm when my Things Shadow updates are getting rejected" \
       --namespace AWS/IoT \
       --metric-name UpdateThingShadow.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --unit Count \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. アラームのテストを行います。

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. アラームが [CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch)に表示されていることを確認します。

## ジョブ用の CloudWatch アラームを作成するにはどうすればよいですか?
<a name="cw-jobs-alarms"></a>

ジョブサービスは、ジョブをモニタリングするための CloudWatch メトリクスを提供します。CloudWatch アラームを作成して、任意の [ジョブのメトリクス](metrics_dimensions.md#jobs-metrics) をモニタリングできます。

次のコマンドは、Job *SampleOTAJob* の失敗したジョブ実行の合計数を監視する CloudWatch アラームを作成し、20 を超えるジョブ実行が失敗した場合に通知します。アラームは、レポートされた値を 300 秒ごとにチェックして、ジョブメトリクス `FailedJobExecutionTotalCount` をモニタリングします。報告された単一の値が 20 より大きい場合にアクティブになります。つまり、ジョブの開始以降、ジョブの実行が 20 回以上失敗したことを示します。アラームがオフになると、提供された Amazon SNS トピックに通知が送信されます。

```
aws cloudwatch put-metric-alarm \
    --alarm-name TotalFailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when total number of failed job execution exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionTotalCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 20 \
    --comparison-operator GreaterThanThreshold \
    --period 300 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions
```

次のコマンドは、CloudWatch アラームを作成して、特定の期間に Job *SampleOTAJob* の失敗したジョブの実行数を監視します。その後、その期間中に 5 つ以上のジョブの実行が失敗すると通知します。アラームは、レポートされた値を 3600 秒ごとにチェックして、ジョブメトリクス `FailedJobExecutionCount` をモニタリングします。レポートされた単一の値が 5 より大きい場合にアクティブになります。つまり、過去 1 時間で 5 回以上ジョブ実行に失敗したということです。アラームがオフになると、提供された Amazon SNS トピックに通知が送信されます。

```
aws cloudwatch put-metric-alarm \
    --alarm-name FailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when number of failed job execution per hour exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 5 \
    --comparison-operator GreaterThanThreshold \
    --period 3600 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions-per-hour
```

# AWS IoT メトリクスとディメンション
<a name="metrics_dimensions"></a>

を操作すると AWS IoT、サービスはメトリクスとディメンションを 1 分ごとに CloudWatch に送信します。CloudWatch コンソールまたは を使用して AWS IoT、これらのメトリクス AWS CLI を表示できます。

CloudWatch コンソールを使用してメトリクスを表示するには、[[CloudWatch コンソール]](https://console.aws.amazon.com/cloudwatch) を開きます。ナビゲーションペインで、**[Metrics]** (メトリクス) を選択し、次に、**[All metrics]** (すべてのメトリクス) を選択します。**参照**タブで、 を検索 AWS IoT してメトリクスのリストを表示します。メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。

を使用してメトリクスを表示するには AWS CLI、次のコマンドを実行します。

```
1. aws cloudwatch list-metrics --namespace "AWS/IoT"
```

**Topics**
+ [AWS IoT メトリクス](#iot-metrics)
+ [AWS IoT Core 認証情報プロバイダーメトリクス](#credential-provider-metrics)
+ [認証メトリクス](#authentication-metrics)
+ [サーバー証明書の OCSP ステープリングメトリクス](#server-ocsp-metrics)
+ [ルールのメトリクス](#rulemetrics)
+ [ルールアクションのメトリクス](#rule-action-metrics)
+ [HTTP アクション固有のメトリクス](#http-action-metrics)
+ [メッセージブローカーのメトリクス](#message-broker-metrics)
+ [Device Shadow のメトリクス](#shadow-metrics)
+ [メトリクスのログ記録](#logging-metrics)
+ [ジョブのメトリクス](#jobs-metrics)
+ [Device Defender の監査メトリクス](#device-defender-audit-metrics)
+ [Device Defender の検出メトリクス](#device-defender-detect-metrics)
+ [デバイスプロビジョニングのメトリクス](#provisioning-metrics)
+ [LoRaWAN メトリクス](#lorawan-metrics)
+ [フリートのインデックス作成メトリクス](#fleet-indexing-metrics)
+ [メトリクスのディメンション](#aws-iot-metricdimensions)

## AWS IoT メトリクス
<a name="iot-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `AddThingToDynamicThingGroupsFailed`   |  モノの動的グループへのモノの追加に関連する失敗イベントの数。`DynamicThingGroupName` ディメンションには、モノの追加に失敗した動的グループの名前が含まれています。  | 
|   `NumLogBatchesFailedToPublishThrottled`   |  スロットリングエラーのために発行に失敗したログイベントの単数のバッチ。  | 
|   `NumLogEventsFailedToPublishThrottled`   |  バッチ内でスロットリングエラーのために発行に失敗したログイベントの数。  | 

## AWS IoT Core 認証情報プロバイダーメトリクス
<a name="credential-provider-metrics"></a>


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

## 認証メトリクス
<a name="authentication-metrics"></a>

**注記**  
認証メトリクスは、CloudWatch コンソールの **[プロトコルメトリクス]** に表示されます。


| メトリクス | 説明 | 
| --- | --- | 
|   `Connection.AuthNError`   | 認証の失敗により が AWS IoT Core 拒否する接続試行の数。このメトリクスは、 AWS アカウントのエンドポイントに一致するサーバー名表示 (SNI) 文字列を送信する接続のみを考慮します。このメトリクスには、インターネットスキャンツールやプローブアクティビティなどの外部ソースからの接続試行が含まれます。Protocol ディメンションには、接続の試行の送信に使用されたプロトコルが含まれます。 | 

## サーバー証明書の OCSP ステープリングメトリクス
<a name="server-ocsp-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| RetrieveOCSPStapleData.Success | OCSP レスポンスは正常に受信および処理されました。このレスポンスは、設定されたドメインの TLS ハンドシェイク中に含まれます。DomainConfigurationName ディメンションには、サーバー証明書 OCSP ステープリングが有効になっている設定済みドメインの名前が含まれます。 | 

## ルールのメトリクス
<a name="rulemetrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `ParseError`   |  ルールがリッスンしているトピックで発行されたメッセージで発生した JSON 解析エラーの数。`RuleName` ディメンションにはルールの名前が含まれます。  | 
|   `RuleExecutionThrottled`   |  悪意のある動作のため、またはメッセージの数がルールエンジンのスロットル制限を超えているために、ルールエンジンによってスロットリングされたメッセージの数。`RuleName` ディメンションには、トリガーされるルールの名前が入っています。  | 
|   `RuleNotFound`   |  トリガーされるルールが見つかりませんでした。`RuleName` ディメンションにはルールの名前が含まれます。  | 
|   `RulesExecuted`   |  実行された AWS IoT ルールの数。  | 
|   `TopicMatch`   |  ルールがリッスンしているトピックで発行された受信メッセージの数。`RuleName` ディメンションにはルールの名前が含まれます。  | 

## ルールアクションのメトリクス
<a name="rule-action-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `Failure`   |  失敗したルールアクションの呼び出しの数。`RuleName` ディメンションには、アクションを指定するルールの名前が含まれます。`ActionType` ディメンションには、呼び出されたアクションのタイプが含まれます。  | 
|   `Success`   |  正常なルールアクションの呼び出しの数。`RuleName` ディメンションには、アクションを指定するルールの名前が含まれます。`ActionType` ディメンションには、呼び出されたアクションのタイプが含まれます。  | 
|  ErrorActionFailure  | 失敗したエラーアクションの数。RuleName ディメンションには、アクションを指定するルールの名前が含まれます。ActionTypeディメンションには、呼び出されたアクションのタイプが含まれます。 | 
|  ErrorActionSuccess  | 成功したエラーアクションの数。RuleNameディメンションには、アクションを指定するルールの名前が含まれます。ActionType ディメンションには、呼び出されたアクションのタイプが含まれます。 | 

## HTTP アクション固有のメトリクス
<a name="http-action-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `HttpCode_Other`   |  ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 2xx、4xx、または 5xx でない場合に生成されます。  | 
|   `HttpCode_4XX`   |  ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 400 ～ 499 の場合に生成されます。  | 
|   `HttpCode_5XX`   |  ダウンストリームウェブサービス/アプリケーションからの応答のステータスコードが 500 ～ 599 の場合に生成されます。  | 
|   `HttpInvalidUrl`   |  置換テンプレートが置き換えられた後にエンドポイント URL が `https://` で始まらない場合に生成されます。  | 
|   `HttpRequestTimeout`   |  ダウンストリームウェブサービス/アプリケーションが要求タイムアウト制限内で応答を返さない場合に生成されます。詳細については、「[Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#limits_iot)」を参照してください。  | 
|   `HttpUnknownHost`   |  URL が有効であるが、サービスが存在しないか、到達不能である場合に生成されます。  | 

## メッセージブローカーのメトリクス
<a name="message-broker-metrics"></a>

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


| メトリクス | 説明 | 
| --- | --- | 
|   `Connect.AuthError`   |  メッセージブローカーが承認できなかった接続リクエストの数。`Protocol` ディメンションには、`CONNECT` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Connect.ClientError`   |  MQTT メッセージが で定義された要件を満たさなかったために拒否された接続リクエストの数[AWS IoT のクォータ](limits-iot.md)。`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` ディメンションには、メッセージの発行に使用されたプロトコルが含まれます。HTTP Publish はこのメトリクスをサポートしていません。  | 
|   `PublishIn.ClientError`   |  メッセージが で定義された要件を満たさなかったためにメッセージブローカーによって拒否された発行リクエストの数[AWS IoT のクォータ](limits-iot.md)。`Protocol` ディメンションには、メッセージの発行に使用されたプロトコルが含まれます。  | 
|   `PublishIn.ServerError`   |  内部エラーが発生したためにメッセージブローカーが処理に失敗した発行リクエストの数。`Protocol` ディメンションには、`PUBLISH` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `PublishIn.Success`   |  メッセージブローカーによって正常に処理された発行リクエストの数。`Protocol` ディメンションには、`PUBLISH` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `PublishIn.Throttle`   |  許可されたインバウンドメッセージの頻度をクライアントが超えたために調整された発行リクエストの数。`Protocol` ディメンションには、`PUBLISH` メッセージの送信に使用されたプロトコルが含まれます。HTTP Publish はこのメトリクスをサポートしていません。  | 
|   `PublishOut.AuthError`   |   AWS IoTが承認できなかった、メッセージブローカーによって行われた発行リクエストの数。`Protocol` ディメンションには、`PUBLISH` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `PublishOut.ClientError`   |  メッセージブローカーによって行われた発行リクエストのうち、メッセージが [AWS IoT のクォータ](limits-iot.md) で定義された要件を満たしていないために拒否されたものの数。`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` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Queued.Success`   |  永続セッションから切断されたクライアントのメッセージブローカーによって正常に処理された、保存されているメッセージの数。QoS が 1 のメッセージは、クライアントの永続セッションが切断されている間も保存されます。  | 
|   `Queued.Throttle`   |  クライアントの永続セッションが接続が切断されている間に保存できず、スロットリングされたメッセージの数。これは、クライアントの[アカウントごとの 1 秒あたりのキューメッセージ数](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account)が上限を超えた場合に発生します。QoS が 1 のメッセージは、クライアントの永続セッションが切断されている間も保存されます。  | 
|   `Queued.ServerError`   |  内部エラーのために永続セッションに保存されなかったメッセージの数。クライアントの永続セッションが切断されると、サービス品質 (QoS) が 1 のメッセージが保存されます。  | 
|   `Subscribe.AuthError`   |  クライアントによって行われ、承認できなかったサブスクリプションリクエストの数。`Protocol` ディメンションには、`SUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Subscribe.ClientError`   |  `SUBSCRIBE` メッセージが で定義された要件を満たさなかったために拒否されたサブスクライブリクエストの数[AWS IoT のクォータ](limits-iot.md)。`Protocol` ディメンションには、`SUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Subscribe.ServerError`   |  内部エラーが発生したために拒否されたサブスクリプションのリクエストの数。`Protocol` ディメンションには、`SUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Subscribe.Success`   |  メッセージブローカーによって正常に処理されたサブスクリプションのリクエストの数。`Protocol` ディメンションには、`SUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Subscribe.Throttle`   |  許可されたサブスクリプションリクエストの頻度が AWS アカウントに対して超えたためにスロットリングされたサブスクリプションリクエストの数。これらの制限には、「[AWS IoT Core メッセージブローカーとプロトコルの制限とクォータ](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits)」に記載されている、アカウントごとの 1 秒あたりのサブスクリプション、アカウントごとのサブスクリプション、接続あたりのサブスクリプションが含まれます。`Protocol` ディメンションには、`SUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|  Throttle.Exceeded  | このメトリクスは、MQTT クライアントが[接続レベルの制限ごとに 1 秒あたり](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits)のパケット数をスロットリングされている場合に CloudWatch に表示されます。このメトリクスは HTTP 接続には適用されません。 | 
|   `Unsubscribe.ClientError`   |  `UNSUBSCRIBE` メッセージが で定義された要件を満たさなかったために拒否されたサブスクリプション解除リクエストの数[AWS IoT のクォータ](limits-iot.md)。`Protocol` ディメンションには、`UNSUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Unsubscribe.ServerError`   |  内部エラーが発生したために拒否されたサブスクリプション解除リクエストの数。`Protocol` ディメンションには、`UNSUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Unsubscribe.Success`   |  メッセージブローカーによって正常に処理されたサブスクリプション解除リクエストの数。`Protocol` ディメンションには、`UNSUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 
|   `Unsubscribe.Throttle`   |  許可されたサブスクリプション解除リクエストの頻度をクライアントが超えたために拒否されたサブスクリプション解除リクエストの数。`Protocol` ディメンションには、`UNSUBSCRIBE` メッセージの送信に使用されたプロトコルが含まれます。  | 

## Device Shadow のメトリクス
<a name="shadow-metrics"></a>

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


| メトリクス | 説明 | 
| --- | --- | 
|   `DeleteThingShadow.Accepted`   |  正常に処理された `DeleteThingShadow` リクエストの数。`Protocol` ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。  | 
|   `GetThingShadow.Accepted`   |  正常に処理された`GetThingShadow` リクエストの数。`Protocol` ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。  | 
|   `ListThingShadow.Accepted`   |  正常に処理された`ListThingShadow` リクエストの数。`Protocol` ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。  | 
|   `UpdateThingShadow.Accepted`   |  正常に処理された`UpdateThingShadow` リクエストの数。`Protocol` ディメンションには、リクエストの作成に使用されたプロトコルが含まれます。  | 

## メトリクスのログ記録
<a name="logging-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|  `CloudwatchLogs:LogGroupCreationFailed`  |  `CreateLogGroup` リクエストの失敗の数。AWS IoT ログ記録は、CloudWatch ロググループが存在しない場合に作成します。`LogGroup` ディメンションには、リクエストの実行に使用されるロググループが含まれます。  | 
|  `CloudwatchLogs:LogStreamCreationFailed`  |  `CreateLogStream` リクエストの失敗の数。AWS IoT ログ記録は、ログイベントをプッシュするための CloudWatch ログストリームを作成します。`LogGroup` ディメンションには、リクエストの実行に使用されるロググループが含まれます。  | 
|  `CloudwatchLogs:PutRetentionPolicyFailed`  |  `PutRetentionPolicy` リクエストの失敗の数。AWS IoT ログ記録では、CloudWatch ロググループが存在しない場合は作成され、保持ポリシーは 30 日間に設定されます。`LogGroup` ディメンションには、リクエストの実行に使用されるロググループが含まれます。  | 
|  `CloudwatchLogs:PutLogEventsFailed`  |  `PutLogEvents` リクエストの失敗の数。`LogGroup` ディメンションには、リクエストの実行に使用される CloudWatch ロググループが含まれます。  | 

## ジョブのメトリクス
<a name="jobs-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|  `CanceledJobExecutionCount`  |  CloudWatch によって決定された期間中にステータスが `CANCELED` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `CanceledJobExecutionTotalCount`   |  指定されたジョブのステータスが `CANCELED` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `ClientErrorCount`   |  ジョブの実行中に生成されたクライアントエラーの数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `FailedJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `FAILED` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `FailedJobExecutionTotalCount`   |  指定されたジョブのステータスが `FAILED` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `InProgressJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `IN_PROGRESS` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `InProgressJobExecutionTotalCount`   |  指定されたジョブのステータスが `IN_PROGRESS` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `RejectedJobExecutionTotalCount`   |  指定されたジョブのステータスが `REJECTED` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `RemovedJobExecutionTotalCount`   |  指定されたジョブのステータスが `REMOVED` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `QueuedJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `QUEUED` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `QueuedJobExecutionTotalCount`   |  指定されたジョブのステータスが `QUEUED` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `RejectedJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `REJECTED` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `RemovedJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `REMOVED` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `ServerErrorCount`   |  ジョブの実行中に生成されたサーバーエラーの数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `SuccededJobExecutionCount`   |  CloudWatch によって決定された期間中にステータスが `SUCCESS` に変更されたジョブ実行の数。(CloudWatch メトリクスの詳細については、「[Amazon CloudWatch メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)」を参照してください。) `JobId` ディメンションには､ジョブの ID が含まれます。  | 
|   `SuccededJobExecutionTotalCount`   |  指定されたジョブのステータスが `SUCCESS` であるジョブ実行の総数。`JobId` ディメンションには､ジョブの ID が含まれます。  | 

## Device Defender の監査メトリクス
<a name="device-defender-audit-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `NonCompliantResources`   |  チェックの結果、準拠していないことが判明したリソースの数。システムは実行した各監査のチェックごとに非準拠のリソースの数を報告します。  | 
|   `ResourcesEvaluated`   |  準拠状況を評価したリソースの数。システムは実行した各監査のチェックごとに評価したリソースの数を報告します。  | 
|   `MisconfiguredDeviceDefenderNotification`   |  の SNS 設定 AWS IoT Device Defender が正しく設定されていない場合に通知します。  [ディメンション](#aws-iot-metricdimensions)   | 

## Device Defender の検出メトリクス
<a name="device-defender-detect-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
|   `NumOfMetricsExported`    |  クラウド側、デバイス側、またはカスタムメトリクスにエクスポートされたメトリクスの数。システムは、特定のメトリクスについて、アカウントにエクスポートされたメトリクスの数を報告します。このメトリクスは、メトリクスのエクスポートを使用するカスタマーのみが使用できます。  | 
|   `NumOfMetricsSkipped`   |  クラウド側、デバイス側、またはカスタムメトリクスでスキップされたメトリクスの数。Device Defender Detect が mqtt トピックに発行するアクセス許可が不十分であるために、システムはアカウントでスキップされたメトリクスの数を特定のメトリクスについてレポートします。このメトリクスは、メトリクスのエクスポートを使用するカスタマーのみが使用できます。  | 
|   `NumOfMetricsExceedingSizeLimit`   |  サイズが MQTT メッセージサイズの制約を超えたために、クラウド側、デバイス側、またはカスタムメトリクスのエクスポートのためにスキップされたメトリクスの数。サイズが MQTT メッセージサイズの制約を超えたために、特定のメトリクスについて、 アカウントのエクスポートでスキップされたメトリクスの数が報告されます。このメトリクスは、メトリクスのエクスポートを使用するカスタマーのみが使用できます。  | 
|   `Violations`   |  前回実施した評価以降に判明したセキュリティプロファイル動作の新しい違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウントの新しい違反の数を報告します。  | 
|   `ViolationsCleared`   |  前回実施した評価以降に解決されたセキュリティプロファイル動作の違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウントの解決された違反の数を報告します。  | 
|   `ViolationsInvalidated`   |  前回実施した評価以降に (レポートデバイスがレポートを停止したか、何らかの理由でモニタリングが中止されたために) 情報が使用できなくなったセキュリティプロファイル動作の違反の数。システムは、セキュリティプロファイル別およびその動作別に、アカウント全体の無効化された違反の数を報告します。  | 
|   `MisconfiguredDeviceDefenderNotification`   |  の SNS 設定 AWS IoT Device Defender が正しく設定されていない場合に通知します。  [ディメンション](#aws-iot-metricdimensions)   | 

## デバイスプロビジョニングのメトリクス
<a name="provisioning-metrics"></a>


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

| メトリクス | 説明 | 
| --- | --- | 
|   `ApproximateNumberOfThingsRegistered`   |  フリートプロビジョニングによって登録されたモノの数。 カウントは一般的に正確ですが、 AWS IoT Core の分散アーキテクチャでは、登録されたモノの正確なカウントを維持することが難しくなります。 このメトリクスに使用する統計は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/metrics_dimensions.html)  ディメンション: [ClaimCertificateId](#aws-iot-metricdimensions)   | 
|   `CreateKeysAndCertificateFailed`   |  `CreateKeysAndCertificate` MQTT API の呼び出しで発生した失敗の数。 このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に作成および登録された証明書の数を追跡できます。 このメトリクスに使用できる統計は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `CreateCertificateFromCsrFailed`   |  `CreateCertificateFromCsr` MQTT API の呼び出しで発生した失敗の数。 このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に登録されたモノの数を追跡できます。 このメトリクスに使用できる統計は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `RegisterThingFailed`   |  `RegisterThing` MQTT API の呼び出しで発生した失敗の数。 このメトリクスは、成功した場合 (値 = 0) と失敗した場合 (値 = 1) の両方で出力されます。このメトリクスを使用して、CloudWatch がサポートする集計期間中 (5 分、あるいは 1 時間など) に登録されたモノの数を追跡できます。登録されたモノの総数については、`ApproximateNumberOfThingsRegistered` メトリクスを参照してください。 このメトリクスに使用できる統計は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/metrics_dimensions.html) ディメンション: [TemplateName](#aws-iot-metricdimensions)   | 


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

| メトリクス | 説明 | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  クライアントエラーが原因でデバイスがプロビジョニングに失敗した回数。例えば、テンプレートで指定されたポリシーが存在しませんでした。  | 
|  ProvisionThing.ServerError  |  サーバーエラーが原因でデバイスがプロビジョニングに失敗した回数。お客様は待機してからデバイスのプロビジョニングを再試行することができるとともに、問題が解決しない場合は AWS IoT に問い合わせることができます。  | 
|  ProvisionThing.Success  |  デバイスが正常にプロビジョニングされた回数。  | 

## LoRaWAN メトリクス
<a name="lorawan-metrics"></a>

次の表は、 のメトリクスを示しています AWS IoT Core for LoRaWAN。詳細については、「[AWS IoT Core for LoRaWAN メトリクス](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-metrics.html)」を参照してください。


**AWS IoT Core for LoRaWAN メトリクス**  

| メトリクス | 説明 | 
| --- | --- | 
|  アクティブなデバイス/ゲートウェイ  |  アカウント内のアクティブな LoRaWAN デバイスとゲートウェイの数。  | 
|  アップリンクメッセージ数  |   AWS アカウント内のすべてのアクティブなゲートウェイとデバイスで、指定された期間内に送信されるアップリンクメッセージの数。アップリンクメッセージは、デバイスから に送信されるメッセージです AWS IoT Core for LoRaWAN。  | 
|  ダウンリンクメッセージ数  |   AWS アカウント内のすべてのアクティブなゲートウェイとデバイスで、指定された期間内に送信されるダウンリンクメッセージの数。ダウンリンクメッセージは、 からデバイスに送信されるメッセージ AWS IoT Core for LoRaWAN です。  | 
|  メッセージロス率  |  デバイスを追加して に接続すると AWS IoT Core for LoRaWAN、デバイスはアップリンクメッセージを開始して、クラウドとのメッセージの交換を開始できます。このメトリクスを使用して、アップリンクメッセージのロス率を追跡できます。  | 
|  結合メトリクス  |  デバイスとゲートウェイを追加したら、参加手順を実行して、デバイスがアップリンクデータを送信して と通信できるようにします AWS IoT Core for LoRaWAN。このメトリクスを使用して、 AWS アカウント内のすべてのアクティブなデバイスの結合メトリクスに関する情報を取得できます。  | 
|  平均受信信号強度インジケータ (RSSI)  |  このメトリクスを使用して、指定された時間内の平均 RSSI (受信信号強度インジケータ) をモニタリングできます。RSSI は、信号が良好なワイヤレス接続に十分な強度があるかどうかを示す測定です。この値は負であり、強力な接続にはゼロに近い必要があります。  | 
|  信号対雑音比 (SNR)  |  このメトリクスを使用して、指定された時間内の平均 SNR (信号対雑音比) をモニタリングできます。SNR は、受信した信号が良好なワイヤレス接続の雑音レベルと比較して十分に強いかどうかを示す測定値です。SNR 値は正であり、信号電力が雑音電力よりも強いことを示すには、0 より大きい必要があります。  | 
|  ゲートウェイの可用性  |  このメトリクスを使用して、指定された期間内にこのゲートウェイの可用性に関する情報を取得できます。このメトリクスは、指定された期間におけるこのゲートウェイのウェブソケット接続時間を表示します。  | 


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

| メトリクス | 説明 | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  クライアントエラーが原因でデバイスがプロビジョニングに失敗した回数。例えば、テンプレートで指定されたポリシーが存在しませんでした。  | 
|  ProvisionThing.ServerError  |  サーバーエラーが原因でデバイスがプロビジョニングに失敗した回数。お客様は待機してからデバイスのプロビジョニングを再試行することができるとともに、問題が解決しない場合は AWS IoT に問い合わせることができます。  | 
|  ProvisionThing.Success  |  デバイスが正常にプロビジョニングされた回数。  | 

## フリートのインデックス作成メトリクス
<a name="fleet-indexing-metrics"></a>


**AWS IoT フリートインデックス作成メトリクス**  

| メトリクス | 説明 | 
| --- | --- | 
|   `NamedShadowCountForDynamicGroupQueryLimitExceeded`   |  動的なモノのグループのデータソース固有ではないクエリ条件については、モノごとに最大 25 の名前付きシャドウが処理されます。モノに対してこの制限に違反すると、`NamedShadowCountForDynamicGroupQueryLimitExceeded` イベントタイプが出力されます。  | 

## メトリクスのディメンション
<a name="aws-iot-metricdimensions"></a>


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

| ディメンション | 説明 | 
| --- | --- | 
|  ActionType  |  リクエストによってトリガーされたルールで指定された[アクションのタイプ](iot-rule-actions.md)。  | 
|   `BehaviorName`   |  モニタリングされている Device Defender Detect セキュリティプロファイルの動作の名前。  | 
|   `ClaimCertificateId`   |  デバイスのプロビジョニングに使用されるクレームの `certificateId`。  | 
|   `CheckName`   |  結果がモニタリングされている Device Defender 監査チェックの名前。  | 
|   `JobId`   |  進行状況またはメッセージ接続の成功/失敗が監視されているジョブの ID。  | 
|   `Protocol`   |  リクエストを行うために使用されるプロトコル。有効な値: MQTT または HTTP  | 
|   `RuleName`   |  リクエストによってトリガーされたルールの名前。  | 
|   `ScheduledAuditName`   |  チェックの結果がモニタリングされている Device Defender のスケジュールされた監査の名前。オンデマンドで実行された監査の結果がレポートされた場合、この値は `OnDemand` になります。  | 
|   `SecurityProfileName`   |  動作がモニタリングされている Device Defender Detect セキュリティプロファイルの名前。  | 
|   `TemplateName`   |  プロビジョニングテンプレートの名前。  | 
|  SourceArn  | 検出用のセキュリティプロファイルまたは監査用のアカウント ARN を指します。 | 
|   `RoleArn`   |  Device Defender が引き受けようとしたロールを指します。  | 
|   `TopicArn`   |  Device Defender が発行を試みた SNS トピックを指します。  | 
|   `Error`   | SNS トピックに発行しようとしたときに受信したエラーの簡単な説明を提供します。可能な値は以下のとおりです。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/metrics_dimensions.html)  | 