

# Métricas do lado da nuvem
<a name="detect-cloud-side-metrics"></a>

Ao criar um Perfil de segurança, você pode especificar o comportamento esperado do seu dispositivo de IoT configurando comportamentos e limites para métricas geradas por dispositivos de IoT. A seguir estão as métricas do lado da nuvem, que são métricas de AWS IoT.

## Tamanho da mensagem (aws:message-byte-size)
<a name="detect-message-size"></a>

O número de bytes na fila. Use esta métrica para especificar o tamanho máximo ou mínimo (em bytes) de cada mensagem transmitida a partir de um dispositivo para a AWS IoT.

Compatível com: regras do Detect \$1 ML Detect

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Unidades: bytes 

**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 Exemplo usando um `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 Exemplo de uso do ML Detect**  

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

Um alarme será emitido para um dispositivo se, durante três períodos consecutivos de 5 minutos, ele transmitir mensagens cujo tamanho cumulativo for superior ao medido para 90% de todos os outros dispositivos que relatam esse comportamento do Perfil de segurança.

## Mensagens enviadas (aws:num-messages-sent)
<a name="detect-messages-sent"></a>

O número de mensagens enviadas por um dispositivo durante um determinado período.

Use esta métrica para especificar o número máximo ou mínimo de mensagens que podem ser enviadas entre a AWS IoT e cada dispositivo em um determinado período.

Compatível com: regras do Detect \$1 ML Detect

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Unidades: mensagens 

Duração: um inteiro não negativo. Os valores válidos são 300, 600, 900, 1800 ou 3.600 segundos.

**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 Exemplo usando um `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 Exemplo de uso do ML Detect**  

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

## Mensagens recebidas (aws:num-messages-received)
<a name="detect-messages-received"></a>

O número de mensagens recebidas por um dispositivo durante um determinado período.

Use esta métrica para especificar o número máximo ou mínimo de mensagens que podem ser recebidas entre a AWS IoT e cada dispositivo em um determinado período.

Compatível com: regras do Detect \$1 ML Detect

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Unidades: mensagens 

Duração: um inteiro não negativo. Os valores válidos são 300, 600, 900, 1800 ou 3.600 segundos.

**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 Exemplo usando um `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 Exemplo de uso do ML Detect**  

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

## Falhas de autorização (aws:num-authorization-failures)
<a name="detect-auth-failures"></a>

Use esta métrica para especificar o número máximo de falhas de autorização permitidas para cada dispositivo em um determinado período. Uma falha de autorização ocorre quando uma solicitação de um dispositivo para a AWS IoT é negada (por exemplo, se um dispositivo tenta publicar em um tópico para o qual não tem permissões suficientes). 

Compatível com: regras do Detect \$1 ML Detect

Unidade: falhas 

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Duração: um inteiro não negativo. Os valores válidos são 300, 600, 900, 1800 ou 3.600 segundos.

**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 Exemplo usando um `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 Exemplo de uso do ML Detect**  

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

## IP de origem (aws:source-ip-address)
<a name="detect-ip-address"></a>

O endereço IP a partir do qual um dispositivo se conectou à AWS IoT.

Use esta métrica para especificar um conjunto de Encaminhamento Entre Domínios Sem Classificação (CIDR) permitidos (anteriormente chamado de lista de permissões) ou negados (anteriormente chamado de lista negra) dos quais cada dispositivo deve ou não se conectar à AWS IoT.

Compatível com: regras do Detect

Operadores: in-cidr-set \$1 not-in-cidr-set 

Valores: uma lista de CIDRs

Unidades: n/a

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

## Tentativas de conexão (aws:num-connection-attempts)
<a name="detect-num-connection-attempts"></a>

O número de vezes que um dispositivo tentou fazer uma conexão em um determinado período.

Use esta métrica para especificar o número máximo ou mínimo de tentativas de conexão para cada dispositivo. Tanto as tentativas bem-sucedidas como as malsucedidas são contadas.

Compatível com: regras do Detect \$1 ML Detect

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Unidades: tentativas de conexão

Duração: um inteiro não negativo. Os valores válidos são 300, 600, 900, 1800 ou 3.600 segundos.

**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 Exemplo usando um `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 Exemplo de uso do ML Detect**  

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

## Desconexões (aws:num-disconnect)
<a name="detect-num-disconnects"></a>

O número de vezes que um dispositivo foi desconectado da AWS IoT durante determinado período.

Use esta métrica para especificar o número máximo ou mínimo de vezes que um dispositivo foi desconectado da AWS IoT durante determinado período.

Compatível com: regras do Detect \$1 ML Detect

Operadores: less-than \$1 less-than-equals \$1 greater-than \$1 greater-than-equals 

Valor: um inteiro não negativo 

Unidades: desconexões

Duração: um inteiro não negativo. Os valores válidos são 300, 600, 900, 1800 ou 3.600 segundos.

**Example**  

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

**Example Exemplo usando um `statisticalThreshold`.**  

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

**Example Exemplo de uso do ML Detect**  

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

## Duração da desconexão (aws:disconnect-duration)
<a name="detect-disconnect-duration"></a>

O tempo pelo qual um dispositivo permanece desconectado da AWS IoT.

Use essa métrica para especificar o tempo máximo da permanência de desconexão da AWS IoT.

Compatível com: regras do Detect

Operadores: less-than \$1 less-than-equals

Valor: um inteiro não negativo (em minutos)

**Example**  

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