

# Geräteseitige Metriken
<a name="detect-device-side-metrics"></a>

Bei der Erstellung eines Sicherheitsprofils können Sie das erwartete Verhalten Ihres IoT-Geräts festlegen, indem Sie Verhalten und Schwellenwerte für von IoT-Geräten generierte Metriken konfigurieren. Bei den folgenden Kennzahlen handelt es sich um geräteseitige Metriken, bei denen es sich um Messwerte von Agenten handelt, die Sie auf Ihren Geräten installieren.

## Ausgehende Bytes (`aws:all-bytes-out`)
<a name="detect-all-bytes-out"></a>

Die Anzahl der ausgehenden Bytes von einem Gerät während eines bestimmten Zeitraums.

Mit dieser Metrik geben Sie die maximale oder minimale Menge des ausgehenden Datenverkehrs an, die ein Gerät in einem bestimmten Zeitraum senden soll, gemessen in Byte.

Kompatibel mit: Rules Detect \| ML Detect

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheiten: Byte 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "TCP outbound traffic",
  "metric": "aws:all-bytes-out",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 4096
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "TCP outbound traffic",
  "metric": "aws:all-bytes-out",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p50"
    },
    "durationSeconds": 900,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Outbound traffic ML behavior",
  "metric": "aws:all-bytes-out",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Bytes in (`aws:all-bytes-in`)
<a name="detect-all-bytes-in"></a>

Die Anzahl der eingehenden Bytes zu einem Gerät während eines bestimmten Zeitraums.

Mit dieser Metrik geben Sie die maximale oder minimale Menge an eingehendem Datenverkehr an, die ein Gerät in einem bestimmten Zeitraum empfangen soll, gemessen in Byte.

Kompatibel mit: Rules Detect \| ML Detect

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheiten: Byte 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "TCP inbound traffic",
  "metric": "aws:all-bytes-in",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 4096
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "TCP inbound traffic",
  "metric": "aws:all-bytes-in",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p90"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Inbound traffic ML behavior",
  "metric": "aws:all-bytes-in",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Überwachen der Anzahl an TCP-Ports (`aws:num-listening-tcp-ports`)
<a name="detect-num-listening-tcp-ports"></a>

Die Anzahl der TCP-Ports, die das Gerät überwacht.

Mit diesem Parameter geben Sie die maximale oder minimale Anzahl von TCP-Ports an, die jedes Gerät überwachen soll.

Kompatibel mit: Rules Detect \| ML Detect

Einheit: Fehler 

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheit: Fehler 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "Max TCP Ports",
  "metric": "aws:num-listening-tcp-ports",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 5
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "Max TCP Ports",
  "metric": "aws:num-listening-tcp-ports",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p50"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Max TCP Port ML behavior",
  "metric": "aws:num-listening-tcp-ports",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Überwachen der Anzahl an UDP-Ports (`aws:num-listening-udp-ports`)
<a name="detect-num-listening-udp-ports"></a>

Die Anzahl der UDP-Ports, die das Gerät überwacht.

Mit diesem Parameter geben Sie die maximale Anzahl an UDP-Ports an, die jedes Gerät überwachen soll.

Kompatibel mit: Rules Detect \| ML Detect

Einheit: Fehler 

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheit: Fehler 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "Max UDP Ports",
  "metric": "aws:num-listening-udp-ports",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 5
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "Max UDP Ports",
  "metric": "aws:num-listening-udp-ports",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p50"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Max UPD Port ML behavior",
  "metric": "aws:num-listening-tcp-ports",
  "criteria": {
	 "consecutiveDatapointsToAlarm": 1,
	 "consecutiveDatapointsToClear": 1,
	 "mlDetectionConfig": {
	   "confidenceLevel": "HIGH"
   }
	},
  "suppressAlerts": true
}
```

## Ausgehende Pakete (`aws:all-packets-out`)
<a name="detect-all-packets-out"></a>

Die Anzahl der ausgehenden Pakete von einem Gerät während eines bestimmten Zeitraums.

Mit dieser Metrik geben Sie die maximale oder minimale Menge an gesamtem ausgehendem Datenverkehr an, die ein Gerät in einem bestimmten Zeitraum senden soll.

Kompatibel mit: Rules Detect \| ML Detect

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheiten: Pakete 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "TCP outbound traffic",
  "metric": "aws:all-packets-out",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 100
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "TCP outbound traffic",
  "metric": "aws:all-packets-out",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p90"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Outbound sent ML behavior",
  "metric": "aws:all-packets-out",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Pakete in (`aws:all-packets-in`)
<a name="detect-all-packets-in"></a>

Die Anzahl der eingehenden Pakete zu einem Gerät während eines bestimmten Zeitraums.

Mit dieser Metrik geben Sie die maximale oder minimale Menge an insgesamt eingehendem Datenverkehr an, die ein Gerät in einem bestimmten Zeitraum empfangen soll.

Kompatibel mit: Rule Detect \| ML Detect

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals 

Wert: eine nicht negative Ganzzahl 

Einheiten: Pakete 

Dauer: eine nicht negative Ganzzahl. Gültige Werte sind 300, 600, 900, 1800 oder 3600 Sekunden.

**Example**  

```
{
  "name": "TCP inbound traffic",
  "metric": "aws:all-packets-in",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 100
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example**  
Beispiel für die Nutzung von `statisticalThreshold`  

```
{
  "name": "TCP inbound traffic",
  "metric": "aws:all-packets-in",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p90"
    },
    "durationSeconds": 300,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Inbound sent ML behavior",
  "metric": "aws:all-packets-in",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Ziel-IPs (`aws:destination-ip-addresses`)
<a name="detect-destination-ip-addresses"></a>

Ein Satz von IP-Zieladressen.

Mit dieser Metrik geben Sie einen Satz von zugelassenen (vormals als auf einer Whitelist stehend bezeichnet) bzw. verbotenen (vormals als auf einer Blacklist stehend bezeichnet) Classless Inter-Domain Routings (CIDR) an, von denen jedes Gerät eine Verbindung mit AWS IoT herstellen darf bzw. keine Verbindung herstellen darf.

Kompatibel mit: Rules Detect

Operatoren: in-cidr-set \| not-in-cidr-set 

Werte: eine Liste von CIDRs

Einheiten: –

**Example**  

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

## Überwachen von TCP-Ports (`aws:listening-tcp-ports`)
<a name="detect-listening-tcp-ports"></a>

Die TCP-Ports, die das Gerät überwacht.

Mit dieser Metrik geben Sie einen Satz von zugelassenen (vormals als auf einer Whitelist stehend bezeichnet) bzw. verbotenen (vormals als auf einer Blacklist stehend bezeichnet) TCP-Ports an, auf denen jedes Gerät horchen darf bzw. nicht horchen darf.

Kompatibel mit: Rules Detect

Operatoren: in-port-set \| not-in-port-set 

Werte: eine Liste von Ports 

Einheiten: –

**Example**  

```
{
  "name": "Listening TCP Ports",
  "metric": "aws:listening-tcp-ports",
  "criteria": {
    "comparisonOperator": "in-port-set",
    "value": {
      "ports": [ 443, 80 ]
    }
  },
  "suppressAlerts": true
}
```

## Überwachen von UDP-Ports (`aws:listening-udp-ports`)
<a name="detect-listening-udp-ports"></a>

Die UDP-Ports, die das Gerät überwacht.

Mit dieser Metrik geben Sie einen Satz von zugelassenen (vormals als auf einer Whitelist stehend bezeichnet) bzw. verbotenen (vormals als auf einer Blacklist stehend bezeichnet) UDP-Ports an, auf denen jedes Gerät horchen darf bzw. nicht horchen darf.

Kompatibel mit: Rules Detect

Operatoren: in-port-set \| not-in-port-set 

Werte: eine Liste von Ports 

Einheiten: –

**Example**  

```
{
  "name": "Listening UDP Ports",
  "metric": "aws:listening-udp-ports",
  "criteria": {
    "comparisonOperator": "in-port-set",
    "value": {
      "ports": [ 1025, 2000 ]
    }
  }
}
```

## Anzahl etablierter TCP-Verbindungen (`aws:num-established-tcp-connections`)
<a name="detect-num-established-tcp-connections"></a>

Die Anzahl der TCP-Verbindungen für ein Gerät.

Mit diesem Parameter geben Sie die maximale oder minimale Anzahl aktiver TCP-Verbindungen an, die jedes Gerät haben sollte (alle TCP-Status). 

Kompatibel mit: Rules Detect \| ML Detect

Operatoren: less-than \| less-than-equals \| greater-than \| greater-than-equals

Wert: eine nicht negative Ganzzahl 

Einheiten: Verbindungen

**Example**  

```
{
  "name": "TCP Connection Count",
  "metric": "aws:num-established-tcp-connections",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "value": {
      "count": 3
    },
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel für die Nutzung von `statisticalThreshold`**  

```
{
  "name": "TCP Connection Count",
  "metric": "aws:num-established-tcp-connections",
  "criteria": {
    "comparisonOperator": "less-than-equals",
    "statisticalThreshold": {
      "statistic": "p90"
    },
    "durationSeconds": 900,
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1
  },
  "suppressAlerts": true
}
```

**Example Beispiel mit ML Detect**  

```
{
  "name": "Connection count ML behavior",
  "metric": "aws:num-established-tcp-connections",
  "criteria": {
    "consecutiveDatapointsToAlarm": 1,
    "consecutiveDatapointsToClear": 1,
    "mlDetectionConfig": {
      "confidenceLevel": "HIGH"
    }
  },
  "suppressAlerts": true
}
```

## Spezifikationen für Gerätemetriken
<a name="DetectMetricsMessagesSpec"></a>


**Gesamtstruktur**  

|  Langer Name  |  Kurzname  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | 
| header | hed | Y | Objekt |  | Vollständiger Block für gültiges Berichtsformat erforderlich. | 
| Metriken | met | Y | Objekt |  | Ein Bericht kann mindestens einen – `metrics`oder `custom_metrics`-Block oder beide enthalten. | 
| custom\_metrics | comet | Y | Objekt |  | Ein Bericht kann mindestens einen – `metrics`oder `custom_metrics`-Block oder beide enthalten. | 


**Header-Block**  

|  Langer Name  |  Kurzname  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | 
| report\_id | rid | Y | Ganzzahl |  | Der Wert wird monotonisch erhöht. Ein Epoche-Zeitstempel wird empfohlen. | 
| version | V | Y | Zeichenfolge | Major.Minor | Kleine Schritte mit dem Hinzufügen eines Feldes. Große Schritte, wenn Metriken entfernt werden. | 

**Metriken-Block:**


**TCP-Verbindungen**  

|  Langer Name  |  Kurzname  |  Übergeordnetes Element  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | --- | 
| tcp\_connections | tc | Metriken | N | Objekt |  |  | 
| established\_connections | ec | tcp\_connections | N | Objekt |  | Eingerichtete TCP-Status- | 
| Verbindungen | cs | established\_connections | N | List<Object> |  |  | 
| remote\_addr | rad | Verbindungen | Y | Zahl | ip:port | IP kann IPv6 oder IPv4 sein | 
| local\_port | lp | Verbindungen | N | Zahl | >= 0 |  | 
| local\_interface | li | Verbindungen | N | Zeichenfolge |  | Schnittstellenname | 
| total | t | established\_connections | N | Zahl | >= 0 | Anzahl der eingerichteten Verbindungen | 


**Überwachen von TCP-Ports**  

|  Langer Name  |  Kurzname  |  Übergeordnetes Element  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | --- | 
| listening\_tcp\_ports | tp | Metriken | N | Objekt |  |  | 
| ports | pts | listening\_tcp\_ports | N | List<Object> | > 0 |  | 
| port | pt | ports | N | Zahl | > 0 | Ports sollten Zahlen größer 0 sein | 
| interface | if | ports | N | Zeichenfolge |  | Schnittstellenname | 
| total | t | listening\_tcp\_ports | N | Zahl | >= 0 |  | 


**Überwachen von UDP-Ports**  

|  Langer Name  |  Kurzname  |  Übergeordnetes Element  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | --- | 
| listening\_udp\_ports | up | Metriken | N | Objekt |  |  | 
| ports | pts | listening\_udp\_ports | N | Liste<Port> | > 0 |  | 
| port | pt | ports | N | Zahl | > 0 | Ports sollten Zahlen größer 0 sein | 
| interface | if | ports | N | Zeichenfolge |  | Schnittstellenname | 
| total | t | listening\_udp\_ports | N | Zahl | >= 0 |  | 


**Netzwerkstatistik**  

|  Langer Name  |  Kurzname  |  Übergeordnetes Element  |  Erforderlich  |  Typ  |  Einschränkungen  |  Hinweise  | 
| --- | --- | --- | --- | --- | --- | --- | 
| network\_stats | ns | Metriken | N | Objekt |  |  | 
| bytes\_in | bi | network\_stats | N | Zahl | Delta Metric, >= 0 |  | 
| bytes\_out | bo | network\_stats | N | Zahl | Delta Metric, >= 0 |  | 
| packets\_in | pi | network\_stats | N | Zahl | Delta Metric, >= 0 |  | 
| packets\_out | po | network\_stats | N | Zahl | Delta Metric, >= 0 |  | 

**Example**  
Die folgende JSON-Struktur verwendet lange Namen.  

```
{
  "header": {
    "report_id": 1530304554,
    "version": "1.0"
  },
  "metrics": {
    "listening_tcp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 24800
        },
        {
          "interface": "eth0",
          "port": 22
        },
        {
          "interface": "eth0",
          "port": 53
        }
      ],
      "total": 3
    },
    "listening_udp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 5353
        },
        {
          "interface": "eth0",
          "port": 67
        }
      ],
      "total": 2
    },
    "network_stats": {
      "bytes_in": 29358693495,
      "bytes_out": 26485035,
      "packets_in": 10013573555,
      "packets_out": 11382615
    },
    "tcp_connections": {
      "established_connections": {
        "connections": [
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          },
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          }
        ],
        "total": 2
      }
    }
  },
  "custom_metrics": {
    "MyMetricOfType_Number": [
      {
        "number": 1
      }
    ],
    "MyMetricOfType_NumberList": [
      {
        "number_list": [
          1,
          2,
          3
        ]
      }
    ],
    "MyMetricOfType_StringList": [
      {
        "string_list": [
          "value_1",
          "value_2"
        ]
      }
    ],
    "MyMetricOfType_IpList": [
      {
        "ip_list": [
          "172.0.0.0",
          "172.0.0.10"
        ]
      }
    ]
  }
}
```

**Example Beispiel für eine JSON-Struktur mit kurzen Namen**  

```
{
  "hed": {
    "rid": 1530305228,
    "v": "1.0"
  },
  "met": {
    "tp": {
      "pts": [
        {
          "if": "eth0",
          "pt": 24800
        },
        {
          "if": "eth0",
          "pt": 22
        },
        {
          "if": "eth0",
          "pt": 53
        }
      ],
      "t": 3
    },
    "up": {
      "pts": [
        {
          "if": "eth0",
          "pt": 5353
        },
        {
          "if": "eth0",
          "pt": 67
        }
      ],
      "t": 2
    },
    "ns": {
      "bi": 29359307173,
      "bo": 26490711,
      "pi": 10014614051,
      "po": 11387620
    },
    "tc": {
      "ec": {
        "cs": [
          {
            "li": "eth0",
            "lp": 80,
            "rad": "192.168.0.1:8000"
          },
          {
            "li": "eth0",
            "lp": 80,
            "rad": "192.168.0.1:8000"
          }
        ],
        "t": 2
      }
    }
  },
  "cmet": {
    "MyMetricOfType_Number": [
      {
        "number": 1
      }
    ],
    "MyMetricOfType_NumberList": [
      {
        "number_list": [
          1,
          2,
          3
        ]
      }
    ],
    "MyMetricOfType_StringList": [
      {
        "string_list": [
          "value_1",
          "value_2"
        ]
      }
    ],
    "MyMetricOfType_IpList": [
      {
        "ip_list": [
          "172.0.0.0",
          "172.0.0.10"
        ]
      }
    ]
  }
}
```

## Senden von Metriken von Geräten
<a name="DetectMetricsMessages"></a>

AWS IoT Device Defender Detect kann von AWS IoT-Geräten generierte Metrikdaten sammeln, aggregieren und überwachen, um Geräte zu identifizieren, die ein ungewöhnliches Verhalten zeigen. In diesem Abschnitt erfahren Sie, wie Sie Metriken von einem Gerät an senden AWS IoT Device Defender.

Sie müssen auf Ihren über AWS IoT verbundenen Geräten oder Geräte-Gateways auf sichere Weise die AWS IoT SDK Version 2 zum Erfassen von geräteseitigen Metriken bereitstellen. Die vollständige Liste der SDKs finden Sie [hier](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html).

Sie können den AWS IoT Geräteclient zum Veröffentlichen von Metriken verwenden, da er einen einzigen Agent bietet, der alle Funktionen des Gerätemanagements von AWS IoT Device Defender und AWS IoT abdeckt. Zu diesen Funktionen gehören Jobs, sicheres Tunneling, die Veröffentlichung von AWS IoT Device Defender Metriken uvm.

Sie veröffentlichen geräteseitige Metriken zum Erfassen und Evaluieren unter dem [reservierten Thema](https://docs.aws.amazon.com//iot/latest/developerguide/reserved-topics.html#reserved-topics-device-defender) in AWS IoT für AWS IoT Device Defender.

### Verwenden des AWS IoT Geräteclients zum Veröffentlichen von Metriken
<a name="UsingAWSIoTDeviceClient"></a>

Um den AWS IoT Geräteclient zu installieren, können Sie ihn von [Github](https://github.com/awslabs/aws-iot-device-client) herunterladen. Nachdem Sie den AWS IoT Geräteclient auf dem Gerät installiert haben, für das Sie geräteseitige Daten sammeln möchten, müssen Sie ihn so konfigurieren, dass er geräteseitige Messdaten an AWS IoT Device Defender sendet. Stellen Sie sicher, dass in der [Konfigurationsdatei](https://github.com/awslabs/aws-iot-device-client/blob/main/config-template.json) des AWS IoT Geräteclients die folgenden Parameter im Abschnitt `device-defender` festgelegt sind:

```
  
  "device-defender":    {
        "enabled":    true,
        "interval-in-seconds": 300
    }
```

**Warnung**  
Sie sollten das Zeitintervall auf mindestens 300 Sekunden festlegen. Wenn Sie das Zeitintervall auf weniger als 300 Sekunden festlegen, werden Ihre Metrikdaten möglicherweise gedrosselt.

 Nachdem Sie Ihre Konfiguration aktualisiert haben, können Sie auf der AWS IoT Device Defender Konsole Sicherheitsprofile und Sicherheitsverhalten erstellen, um die Messwerte zu überwachen, die Ihre Geräte in der Cloud veröffentlichen. Sie finden veröffentlichte Metriken auf der AWS IoT Core-Konsole, indem Sie Defend, Detect und dann Metrics auswählen.