

# クラウド側のメトリクス
<a name="detect-cloud-side-metrics"></a>

セキュリティプロファイルを作成するときに、IoT デバイスによって生成されるメトリクスの動作としきい値を設定することで、IoT デバイスの想定される動作を指定できます。以下は、AWS IoT のメトリクスであるクラウド側のメトリクスです。

## メッセージサイズ (aws:message-byte-size)
<a name="detect-message-size"></a>

メッセージのバイト数。デバイスから AWS IoT に送信される各メッセージの最大サイズと最小サイズ (バイト単位) を指定するには、このメトリクスを使用します。

次と互換性あり: Rules Detect \$1 ML Detect

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

単位: バイト 

**Example**  

```
{
  "name": "Max Message Size",
  "metric": "aws:message-byte-size",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 1024
    },
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{

  "name": "Large Message Size",
  "metric": "aws:message-byte-size",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p90"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Message size ML behavior",
  "metric": "aws:message-byte-size",
  "criteria": {
	 "consecutiveDatapointsToAlarm": 1,
	 "consecutiveDatapointsToClear": 1,
	 "mlDetectionConfig": {
	   "confidenceLevel": "HIGH"
   }
	},
  "suppressAlerts": true
}
```

3 つの連続する 5 分間に、このセキュリティプロファイルの動作を報告する他のすべてのデバイスの 90% で測定された累積サイズよりも大きい累積サイズのメッセージを送信すると、デバイスでアラームが発生します。

## 送信されたメッセージ (aws:num-messages-sent)
<a name="detect-messages-sent"></a>

一定期間内にデバイスが送信したメッセージの数。

一定期間に AWS IoT と各デバイスの間で送信できるメッセージの最大数と最小数を指定するには、このメトリクスを使用します。

次と互換性あり: Rules Detect \$1 ML Detect

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

単位: メッセージ 

期間: 負でない整数 有効な値は、300、600、900、1800、3600 秒です。

**Example**  

```
{

  "name": "Out bound message count",
  "metric": "aws:num-messages-sent",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 50
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
    },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{

  "name": "Out bound message rate",
  "metric": "aws:num-messages-sent",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p99"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Messages sent ML behavior",
  "metric": "aws:num-messages-sent",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## 受信したメッセージ (aws:num-messages-received)
<a name="detect-messages-received"></a>

一定期間内にデバイスが受信したメッセージの数。

一定期間に AWS IoT と各デバイスの間で受信できるメッセージの最大数と最小数を指定するには、このメトリクスを使用します。

次と互換性あり: Rules Detect \$1 ML Detect

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

単位: メッセージ 

期間: 負でない整数 有効な値は、300、600、900、1800、3600 秒です。

**Example**  

```
{
  "name": "In bound message count",
  "metric": "aws:num-messages-received",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 50
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
    },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{
  "name": "In bound message rate",
  "metric": "aws:num-messages-received",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p99"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Messages received ML behavior",
  "metric": "aws:num-messages-received",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## 認可の失敗 (aws:num-authorization-failures)
<a name="detect-auth-failures"></a>

一定期間内に各デバイスに許容される認証エラーの最大数を指定するには、このメトリクスを使用します。デバイスが十分にアクセス許可を持たないトピックに発行しようとした場合など、デバイスから AWS IoT へのリクエストが拒否されると認証エラーが発生します。

次と互換性あり: Rules Detect \$1 ML Detect

単位: エラー 

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

期間: 負でない整数 有効な値は、300、600、900、1800、3600 秒です。

**Example**  

```
{
  "name": "Authorization Failures",
  "metric": "aws:num-authorization-failures",
  "criteria": {
    "comparisonOperator": "less-than",
    "value": {
      "count": 5
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{
  "name": "Authorization Failures",
  "metric": "aws:num-authorization-failures",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p50"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Authorization failures ML behavior",
  "metric": "aws:num-authorization-failures",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## 送信元 IP (aws:source-ip-address)
<a name="detect-ip-address"></a>

デバイスが AWS IoTに接続したときの接続元 IP アドレス。

各デバイスが AWS IoT に接続する必要がある、または接続してはならない、許可された Classless Inter-Domain Routings (CIDR) のセット (以前はホワイトリストに登録されたとしていた) または拒否された CIDR のセット (以前はブラックリストに登録されたとしていた) を指定するには、このメトリクスを使用します。

次と互換性あり: Rules Detect

演算子: in-cidr-set \$1 not-in-cidr-set 

値: CIDR のリスト

単位: 該当なし

**Example**  

```
{
  "name": "Denied source IPs",
  "metric": "aws:source-ip-address",
  "criteria": {
    "comparisonOperator": "not-in-cidr-set",
    "value": {
      "cidrs": [ "12.8.0.0/16", "15.102.16.0/24" ]
    }
  },
  "suppressAlerts": true
}
```

## 接続試行 (aws:num-connection-attempts)
<a name="detect-num-connection-attempts"></a>

一定期間内にデバイスが接続を試行する回数。

各デバイスの接続試行回数の最大値または最小値を指定するには、このメトリクスを使用します。成功した場合も失敗した場合もカウントされます。

次と互換性あり: Rules Detect \$1 ML Detect

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

単位: 接続試行回数

期間: 負でない整数 有効な値は、300、600、900、1800、3600 秒です。

**Example**  

```
{
  "name": "Connection Attempts",
  "metric": "aws:num-connection-attempts",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 5
    },
    "durationSeconds": 600,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{
  "name": "Connection Attempts",
  "metric": "aws:num-connection-attempts",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p10"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Connection attempts ML behavior",
  "metric": "aws:num-connection-attempts",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": false
}
```

## 切断 (aws:num-disconnects)
<a name="detect-num-disconnects"></a>

一定期間内にデバイスが AWS IoT から切断される回数。

一定期間内にデバイスが AWS IoT から切断される回数の最大値または最小値を指定するには、このメトリクスを使用します。

次と互換性あり: Rules Detect \$1 ML Detect

演算子: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

値: 負でない整数 

単位: 切断回数

期間: 負でない整数 有効な値は、300、600、900、1800、3600 秒です。

**Example**  

```
{
  "name": "Disconnections",
  "metric": "aws:num-disconnects",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 5
    },
    "durationSeconds": 600,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example `statisticalThreshold` を使用した例**  

```
{
  "name": "Disconnections",
  "metric": "aws:num-disconnects",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p10"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example ML Detect を使用した例**  

```
{
  "name": "Disconnects ML behavior",
  "metric": "aws:num-disconnects",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## 切断時間 (aws:disconnect-duration)
<a name="detect-disconnect-duration"></a>

デバイスの接続が AWS IoT から切断されたままになる時間。

このメトリクスを使用して、AWS IoT からデバイスの接続が切断されたままになる最大時間を指定します。

次と互換性あり: Rules Detect

演算子: less-than \$1 less-than-equals

値: 負でない整数 (分単位)

**Example**  

```
{
"name": "DisconnectDuration",
  "metric": "aws:disconnect-duration",
  "criteria": {
"comparisonOperator": "less-than-equals",
    "value": {
"count": 5
    }
  },
  "suppressAlerts": true
}
```