

# Device-side metrics
<a name="detect-device-side-metrics"></a>

Quando si crea un profilo di sicurezza, è possibile specificare il comportamento previsto del dispositivo IoT configurando comportamenti e soglie per i parametri generati dai dispositivi IoT. Di seguito sono riportati i parametri sul lato dispositivo, ovvero i parametri degli agenti installati sui dispositivi.

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

Numero di byte in uscita da un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare la quantità massima o minima di traffico in uscita che un dispositivo può inviare, misurata in byte, in un determinato periodo di tempo.

Compatibile con: Rule Detect \| ML Detect

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

Valore: intero non negativo 

Unità: byte 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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 Esempio utilizzando un `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 Esempio con ML Detect**  

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

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

Numero di byte in entrata in un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare la quantità massima o minima di traffico in entrata che un dispositivo può ricevere, misurata in byte, in un determinato periodo di tempo.

Compatibile con: Rule Detect \| ML Detect

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

Valore: intero non negativo 

Unità: byte 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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 Esempio utilizzando un `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 Esempio con ML Detect**  

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

## Conteggio di porte TCP in ascolto (`aws:num-listening-tcp-ports`)
<a name="detect-num-listening-tcp-ports"></a>

Numero delle porte TCP su cui il dispositivo è in ascolto.

Usa questo parametro per specificare il numero massimo o minimo di porte TCP che ogni dispositivo dovrebbe monitorare.

Compatibile con: Rule Detect \| ML Detect

Unità: errori 

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

Valore: intero non negativo 

Unità: errori 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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 Esempio utilizzando un `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 Esempio di utilizzo di ML Detect**  

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

## Conteggio porte UDP in ascolto (`aws:num-listening-udp-ports`)
<a name="detect-num-listening-udp-ports"></a>

Numero delle porte UDP su cui il dispositivo è in ascolto.

Usa questo parametro per specificare il numero massimo o minimo di porte UDP che ogni dispositivo dovrebbe monitorare.

Compatibile con: Rule Detect \| ML Detect

Unità: errori 

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

Valore: intero non negativo 

Unità: errori 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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 Esempio utilizzando un `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 Esempio con ML Detect**  

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

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

Numero di pacchetti in uscita da un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare la quantità massima o minima di traffico in uscita totale che un dispositivo può inviare in un determinato periodo di tempo.

Compatibile con: Rule Detect \| ML Detect

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

Valore: intero non negativo 

Unità: pacchetti 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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 Esempio utilizzando un `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 Esempio con ML Detect**  

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

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

Numero di pacchetti in entrata in un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare la quantità massima o minima di traffico in entrata totale che un dispositivo può ricevere in un determinato periodo di tempo.

Compatibile con: Rule Detect \| ML Detect

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

Valore: intero non negativo 

Unità: pacchetti 

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

**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**  
Esempio utilizzando un `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 Esempio con ML Detect**  

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

## IP di destinazione (`aws:destination-ip-addresses`)
<a name="detect-destination-ip-addresses"></a>

Set di destinazioni IP.

Usa questo parametro per specificare un set di CIDR (Classless Inter-Domain Routings) consentiti (precedentemente chiamati whitelist) o non consentiti (precedentemente chiamati blacklist) da cui ciascun dispositivo deve o non deve connettersi a AWS IoT.

Compatibile con: Rules Detect

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

Valori: elenco di CIDR

Unità: n/d

**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
}
```

## Porte TCP in ascolto (`aws:listening-tcp-ports`)
<a name="detect-listening-tcp-ports"></a>

Porte TCP su cui il dispositivo è in ascolto.

Usa questo parametro per specificare un set di porte TCP consentite (precedentemente chiamate whitelist) o non consentite (precedentemente chiamate blacklist) su cui ciascun dispositivo deve o non deve restare in ascolto.

Compatibile con: Rules Detect

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

Valori: elenco di porte 

Unità: n/d

**Example**  

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

## Porte UDP in ascolto (`aws:listening-udp-ports`)
<a name="detect-listening-udp-ports"></a>

Porte UDP su cui il dispositivo è in ascolto.

Usa questo parametro per specificare un set di porte UDP consentite (precedentemente chiamate whitelist) o non consentite (precedentemente chiamate blacklist) su cui ciascun dispositivo deve o non deve restare in ascolto.

Compatibile con: Rules Detect

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

Valori: elenco di porte 

Unità: n/d

**Example**  

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

## Conteggio delle connessioni TCP stabilite (`aws:num-established-tcp-connections`)
<a name="detect-num-established-tcp-connections"></a>

Numero di connessioni TCP per un dispositivo.

Usa questo parametro per specificare il numero massimo o minimo di connessioni TCP attive che ciascun dispositivo può avere (Tutte le TCP con stati). 

Compatibile con: Rule Detect \| ML Detect

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

Valore: intero non negativo 

Unità: connessioni

**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 Esempio utilizzando un `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 Esempio con ML Detect**  

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

## Specifica del documento di parametri dei dispositivi
<a name="DetectMetricsMessagesSpec"></a>


**Struttura generale**  

|  Nome lungo  |  Nome breve  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | 
| header | hed | Y | Oggetto |  | Blocco completo necessario per un report in formato corretto. | 
| metriche | met | Y | Oggetto |  | Un report può avere entrambi o almeno un `metrics` o un blocco `custom_metrics`. | 
| custom\_metrics | cmet | Y | Oggetto |  | Un report può avere entrambi o almeno un `metrics` o un blocco `custom_metrics`. | 


**Blocco di intestazione**  

|  Nome lungo  |  Nome breve  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | 
| report\_id | rid | Y | Numero intero |  | Valore crescente in maniera monotona. Timestamp epoch consigliato. | 
| version | v | Y | Stringa | Major.Minor | Incrementi minori con aggiunta di campo. Incrementi maggiori se i parametri vengono rimossi. | 

**Blocco dei parametri:**


**Connessioni TCP**  

|  Nome lungo  |  Nome breve  |  Elemento padre  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | --- | 
| tcp\_connections | tc | metriche | N | Oggetto |  |  | 
| established\_connections | ec | tcp\_connections | N | Oggetto |  | Stato connessione TCP stabilita | 
| connections | cs | established\_connections | N | Elenco<Oggetto> |  |  | 
| remote\_addr | rad | connections | Y | Numero | ip:porta | IP può essere ipv6 o ipv4 | 
| local\_port | lp | connections | N | Numero | >= 0 |  | 
| local\_interface | li | connections | N | Stringa |  | Nome interfaccia | 
| total | t | established\_connections | N | Numero | >= 0 | Numero di connessioni stabilite. | 


**Porte TCP in ascolto**  

|  Nome lungo  |  Nome breve  |  Elemento padre  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | --- | 
| listening\_tcp\_ports | tp | metriche | N | Oggetto |  |  | 
| ports | pts | listening\_tcp\_ports | N | Elenco<Oggetto> | > 0 |  | 
| port | pt | ports | N | Numero | > 0 | I numeri di porta devono essere maggiori di 0 | 
| interface | if | ports | N | Stringa |  | Nome interfaccia | 
| total | t | listening\_tcp\_ports | N | Numero | >= 0 |  | 


**Porte UDP in ascolto**  

|  Nome lungo  |  Nome breve  |  Elemento padre  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | --- | 
| listening\_udp\_ports | up | metriche | N | Oggetto |  |  | 
| ports | pts | listening\_udp\_ports | N | Elenco<Porta> | > 0 |  | 
| port | pt | ports | N | Numero | > 0 | I numeri di porta devono essere maggiori di 0 | 
| interface | if | ports | N | Stringa |  | Nome interfaccia | 
| total | t | listening\_udp\_ports | N | Numero | >= 0 |  | 


**Statistiche di rete**  

|  Nome lungo  |  Nome breve  |  Elemento padre  |  Richiesto  |  Tipo  |  Vincoli  |  Note  | 
| --- | --- | --- | --- | --- | --- | --- | 
| network\_stats | ns | metrics | N | Oggetto |  |  | 
| bytes\_in | bi | network\_stats | N | Numero | Parametro delta, >= 0 |  | 
| bytes\_out | bo | network\_stats | N | Numero | Parametro delta, >= 0 |  | 
| packets\_in | pi | network\_stats | N | Numero | Parametro delta, >= 0 |  | 
| packets\_out | po | network\_stats | N | Numero | Parametro delta, >= 0 |  | 

**Example**  
La seguente struttura JSON utilizza nomi lunghi.  

```
{
  "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 Esempio di struttura JSON con nomi brevi**  

```
{
  "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"
        ]
      }
    ]
  }
}
```

## Invio di parametri dai dispositivi
<a name="DetectMetricsMessages"></a>

AWS IoT Device Defender Detect permette di raccogliere, aggregare e monitorare i dati dei parametri generati dai dispositivi AWS IoT per identificare i dispositivi che presentano un comportamento anomalo. In questa sezione viene illustrato come inviare parametri da un dispositivo a AWS IoT Device Defender.

È necessario distribuire in modo sicuro AWS IoT SDK versione due sui dispositivi AWS IoT connessi o nei gateway dei dispositivi per raccogliere i parametri lato dispositivo. Vedi l'elenco completo degli SDK [qui](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html).

Puoi utilizzare AWS IoT Device Client per pubblicare parametri perché fornisce un singolo agente che copre le funzionalità presenti in AWS IoT Device Defender e in AWS IoT Device Management. Queste caratteristiche includono processi, tunneling sicuro, pubblicazione di parametri AWS IoT Device Defender e altro ancora.

Pubblichi i parametri lato dispositivo sull'[argomento riservato](https://docs.aws.amazon.com//iot/latest/developerguide/reserved-topics.html#reserved-topics-device-defender) in AWS IoT per la raccolta e la valutazione di AWS IoT Device Defender.

### Utilizzo di AWS IoT Device Client per la pubblicazione di parametri
<a name="UsingAWSIoTDeviceClient"></a>

Per installare AWS IoT Device Client, puoi scaricarlo da [Github](https://github.com/awslabs/aws-iot-device-client). Dopo aver installato il AWS IoT Device Client sul dispositivo per il quale si desidera raccogliere dati sul lato dispositivo, è necessario configurarlo per inviare parametri sul lato dispositivo a AWS IoT Device Defender. Verificare che l'AWS IoT Device Client [File di configurazione](https://github.com/awslabs/aws-iot-device-client/blob/main/config-template.json) abbia i seguenti parametri impostati nella sezione `device-defender`:

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

**avvertimento**  
È necessario impostare l'intervallo di tempo su un minimo di 300 secondi. Se si imposta l'intervallo di tempo su un valore inferiore a 300 secondi, i dati dei parametri potrebbero essere limitati.

 Dopo aver aggiornato la configurazione, è possibile creare profili e comportamenti di sicurezza nell’AWS IoT Device Defender console per monitorare i parametri che i dispositivi pubblicano sul cloud. Puoi trovare i parametri pubblicati nell’AWS IoT Core console scegliendo Defend (Protezione), Detect (Rileva) e quindi Metrics (Parametri).