

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# CloudWatch métricas
<a name="cloudwatch-metrics-component"></a>

O componente de CloudWatch métricas da Amazon (`aws.greengrass.Cloudwatch`) publica métricas personalizadas dos principais dispositivos do Greengrass na Amazon. CloudWatch O componente permite que os componentes publiquem CloudWatch métricas, que você pode usar para monitorar e analisar o ambiente do dispositivo principal do Greengrass. Para obter mais informações, consulte [Usando CloudWatch métricas da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) no *Guia CloudWatch do usuário da Amazon*.

Para publicar uma CloudWatch métrica com esse componente, publique uma mensagem em um tópico em que esse componente se inscreva. Por padrão, esse componente está inscrito no tópico [local de publicação/assinatura](ipc-publish-subscribe.md) do `cloudwatch/metric/put`. Você pode especificar outros tópicos, incluindo tópicos do AWS IoT Core MQTT, ao implantar esse componente.

Esse componente agrupa métricas que estão no mesmo namespace e as publica em intervalos regulares. CloudWatch 

**nota**  
Esse componente fornece funcionalidade semelhante ao conector de CloudWatch métricas na AWS IoT Greengrass V1. Para obter mais informações, consulte o [conector de CloudWatch métricas](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudwatch-metrics-connector.html) no *Guia do desenvolvedor AWS IoT Greengrass V1*.

**Topics**
+ [Versões](#cloudwatch-metrics-component-versions)
+ [Tipo](#cloudwatch-metrics-component-type)
+ [Sistema operacional](#cloudwatch-metrics-component-os-support)
+ [Requisitos](#cloudwatch-metrics-component-requirements)
+ [Dependências](#cloudwatch-metrics-component-dependencies)
+ [Configuração](#cloudwatch-metrics-component-configuration)
+ [Dados de entrada](#cloudwatch-metrics-component-input-data)
+ [Dados de saída](#cloudwatch-metrics-component-output-data)
+ [Licenças](#cloudwatch-metrics-component-licenses)
+ [Arquivo de log local](#cloudwatch-metrics-component-log-file)
+ [Changelog](#cloudwatch-metrics-component-changelog)
+ [Consulte também](#cloudwatch-metrics-component-see-also)

## Versões
<a name="cloudwatch-metrics-component-versions"></a>

Esse componente tem as seguintes versões:
+ 4.0.x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.1.x
+ 2.0.x

Para informações sobre alterações em cada versão do componente, consulte [changelog](#cloudwatch-metrics-component-changelog).

## Tipo
<a name="cloudwatch-metrics-component-type"></a>

------
#### [ v4.x - v3.x ]

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

------

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componente](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="cloudwatch-metrics-component-os-support"></a>

------
#### [ v4.x - v3.x ]

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

------
#### [ v2.x ]

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

------

## Requisitos
<a name="cloudwatch-metrics-component-requirements"></a>

Esse componente tem os seguintes requisitos:

------
#### [ v4.x - v3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ As seguintes bibliotecas Python, incluindo quaisquer dependências, devem estar instaladas e disponíveis para o usuário que executa o componente:
  + [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
  + [AWS SDK para Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
**nota**  
Você pode definir a `UseInstaller` configuração `true` para instalar essas bibliotecas automaticamente no ambiente Python fornecido.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `cloudwatch:PutMetricData`, conforme mostrado no exemplo de política do IAM a seguir.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Para obter mais informações, consulte a [referência de CloudWatch permissões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) da *Amazon no Guia CloudWatch do usuário da Amazon*.

------
#### [ 2.x ]
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `cloudwatch:PutMetricData`, conforme mostrado no exemplo de política do IAM a seguir.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Para obter mais informações, consulte a [referência de CloudWatch permissões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) da *Amazon no Guia CloudWatch do usuário da Amazon*.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, é necessário mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "component:aws.greengrass.Cloudwatch",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "arn:aws:lambda:{{region}}:aws:function:aws-greengrass-cloudwatch:{{version}}",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + {{region}}Substitua pelo Região da AWS que você usa.
  + {{version}}Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com/greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).

------

### Endpoints e portas
<a name="cloudwatch-metrics-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
| `monitoring.{{region}}.amazonaws.com` | 443 | Sim |  CloudWatch Métricas de upload. | 

## Dependências
<a name="cloudwatch-metrics-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#cloudwatch-metrics-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com/greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 4.0.0 - 3.0.0 ]

A tabela a seguir lista as dependências das versões 4.0.0 a 3.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 2.1.4 - 2.1.9 ]

A tabela a seguir lista as dependências das versões 2.1.4 a 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.4 - 2.1.8 ]

A tabela a seguir lista as dependências das versões 2.1.4 e 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.2 - 2.1.3 ]

A tabela a seguir lista as dependências das versões 2.1.2 e 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 - 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.8 a 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="cloudwatch-metrics-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v4.x ]

 `PublishInterval`   
(Opcional) O número máximo de segundos a aguardar antes que o componente publique métricas em lote para um determinado namespace. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
O componente é publicado CloudWatch após receber 20 métricas no mesmo namespace ou após o intervalo especificado por você.  
O componente não especifica a ordem na qual os eventos são publicados.
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos

 `MaxMetricsToRetain`   
(Opcional) O número máximo de métricas em todos os namespaces a serem salvas na memória antes que o componente as substitua por métricas mais novas.  
Esse limite se aplica quando o dispositivo principal não tem uma conexão com a Internet, então o componente armazena em buffer as métricas para publicar posteriormente. Quando o buffer está cheio, o componente substitui as métricas mais antigas por outras mais recentes. Métricas em um determinado namespace substituem apenas métricas no mesmo namespace.  
Se o processo de host do componente for interrompido, o componente não salvará as métricas. Isso pode ocorrer durante a implantação ou quando o dispositivo é reiniciado, por exemplo.
Esse valor deve ser de pelo menos 2.000 métricas.  
Padrão: 5.000 métricas

`InputTopic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `true` para `PubSubToIoTCore`, poderá usar curingas MQTT (\+ e \#) nesse tópico.  
Padrão: `cloudwatch/metric/put`

`OutputTopic`  
(Opcional) O tópico no qual o componente publica respostas de status.  
Padrão: `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(Opcional) Valor da string que define se é necessário publicar e assinar tópicos do MQTT do AWS IoT Core . Os valores compatíveis são `true` e `false`.  
Padrão: `false`

`LogLevel`  
(Opcional) O nível de registro em log do componente. Escolha entre os seguintes níveis de log, listados aqui em ordem de nível:  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
Padrão: `INFO`

 `UseInstaller`   
(Opcional) Valor booleano que define se o script do instalador deve ser usado para instalar as dependências do Python desse componente no ambiente Python fornecido.  
Defina esse valor `true` para instalar automaticamente as dependências do Python desse componente. Quando definido como`false`, você deve instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o ambiente Python fornecido ao usuário que executa o componente.  
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK para Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
Padrão: `false`

`PublishRegion`  
(Opcional) O Região da AWS para o qual publicar CloudWatch métricas. Esse valor substitui a região padrão do dispositivo principal. Este parâmetro é necessário apenas para métricas entre regiões.

`accessControl`  
(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite ao componente publicar e assinar os tópicos especificados. Se você especificar valores personalizados para `InputTopic` e `OutputTopic`, será preciso atualizar os valores dos recursos nesse objeto.   
Padrão:   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v3.x ]

 `PublishInterval`   
(Opcional) O número máximo de segundos a aguardar antes que o componente publique métricas em lote para um determinado namespace. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
O componente é publicado CloudWatch após receber 20 métricas no mesmo namespace ou após o intervalo especificado por você.  
O componente não especifica a ordem na qual os eventos são publicados.
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos

 `MaxMetricsToRetain`   
(Opcional) O número máximo de métricas em todos os namespaces a serem salvas na memória antes que o componente as substitua por métricas mais novas.  
Esse limite se aplica quando o dispositivo principal não tem uma conexão com a Internet, então o componente armazena em buffer as métricas para publicar posteriormente. Quando o buffer está cheio, o componente substitui as métricas mais antigas por outras mais recentes. Métricas em um determinado namespace substituem apenas métricas no mesmo namespace.  
Se o processo de host do componente for interrompido, o componente não salvará as métricas. Isso pode ocorrer durante a implantação ou quando o dispositivo é reiniciado, por exemplo.
Esse valor deve ser de pelo menos 2.000 métricas.  
Padrão: 5.000 métricas

`InputTopic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `true` para `PubSubToIoTCore`, poderá usar curingas MQTT (\+ e \#) nesse tópico.  
Padrão: `cloudwatch/metric/put`

`OutputTopic`  
(Opcional) O tópico no qual o componente publica respostas de status.  
Padrão: `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(Opcional) Valor da string que define se é necessário publicar e assinar tópicos do MQTT do AWS IoT Core . Os valores compatíveis são `true` e `false`.  
Padrão: `false`

`LogLevel`  
(Opcional) O nível de registro em log do componente. Escolha entre os seguintes níveis de log, listados aqui em ordem de nível:  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
Padrão: `INFO`

`UseInstaller`  
(Opcional) Valor booleano que define se o script do instalador deve ser usado para instalar as dependências do Python desse componente no ambiente Python fornecido.  
Defina esse valor `false` para usar um script personalizado ou instalar dependências manualmente. Quando definido como`false`, você deve instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o ambiente Python fornecido ao usuário que executa o componente.  
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK para Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
Padrão: `true`

`PublishRegion`  
(Opcional) O Região da AWS para o qual publicar CloudWatch métricas. Esse valor substitui a região padrão do dispositivo principal. Este parâmetro é necessário apenas para métricas entre regiões.

`accessControl`  
(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite ao componente publicar e assinar os tópicos especificados. Se você especificar valores personalizados para `InputTopic` e `OutputTopic`, será preciso atualizar os valores dos recursos nesse objeto.   
Padrão:   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v2.x ]

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros da função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

 `lambdaParams`   
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
 `EnvironmentVariables`   
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
 `PUBLISH_INTERVAL`   
(Opcional) O número máximo de segundos a aguardar antes que o componente publique métricas em lote para um determinado namespace. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
O componente é publicado CloudWatch após receber 20 métricas no mesmo namespace ou após o intervalo especificado por você.  
O componente não garante a ordem em que os eventos são publicados.
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos  
 `MAX_METRICS_TO_RETAIN`   
(Opcional) O número máximo de métricas em todos os namespaces a serem salvas na memória antes que o componente as substitua por métricas mais novas.  
Esse limite se aplica quando o dispositivo principal não tem uma conexão com a Internet, então o componente armazena em buffer as métricas para publicar posteriormente. Quando o buffer está cheio, o componente substitui as métricas mais antigas por outras mais recentes. Métricas em um determinado namespace substituem apenas métricas no mesmo namespace.  
Se o processo de host do componente for interrompido, o componente não salvará as métricas. Isso pode ocorrer durante a implantação ou quando o dispositivo é reiniciado, por exemplo.
Esse valor deve ser de pelo menos 2.000 métricas.  
Padrão: 5.000 métricas  
 `PUBLISH_REGION`   
(Opcional) O Região da AWS para o qual publicar CloudWatch métricas. Esse valor substitui a região padrão do dispositivo principal. Este parâmetro é necessário apenas para métricas entre regiões.

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
Padrão: `GreengrassContainer`

 `containerParams`   
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
 `memorySize`   
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.  
O padrão é de 64 MB (65.535 KB).

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  

```
{
  "containerMode": "GreengrassContainer"
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  

```
{
  "containerMode": "NoContainer"
}
```

------

## Dados de entrada
<a name="cloudwatch-metrics-component-input-data"></a>

Esse componente aceita métricas no tópico a seguir e as publica em. CloudWatch <a name="connector-component-local-publish"></a>Por padrão, esse componente assina publish/subscribe mensagens locais. Para obter mais informações sobre como publicar mensagens nesse componente a partir de seus componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

A partir da versão v3.0.0 do componente, você tem a opção de configurar esse componente para assinar um tópico MQTT definindo o parâmetro de configuração `PubSubToIoTCore` como `true`. Para obter mais informações sobre como publicar mensagens em um tópico MQTT nos componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).

 **Tópico padrão:** `cloudwatch/metric/put` 

<a name="connector-component-input-properties"></a>A mensagem aceita as propriedades a seguir. As mensagens de entrada devem estar no formato JSON.

 `request`   
A métrica nessa mensagem.  
O objeto de solicitação contém os dados de métrica para publicação no CloudWatch. Os valores de métrica devem atender às especificações da operação [`PutMetricData`](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html).  
Tipo: o `object` que contém as seguintes informações:    
 `namespace`   
O namespace definido pelo usuário para os dados métricos nessa solicitação. CloudWatch usa namespaces como contêineres para pontos de dados métricos.  
Você não pode especificar um namespace que comece com a string reservada `AWS/`.
Digite: `string`  
Padrão válido: `[^:].*`  
 `metricData`   
Os dados para a métrica.  
Tipo: o `object` que contém as seguintes informações:    
 `metricName`   
O nome da métrica.  
Tipo: `string`  
 `value`   
O valor para a métrica.  
CloudWatch rejeita valores muito pequenos ou muito grandes. O valor deve estar entre `8.515920e-109` e `1.174271e+108` (Base 10) ou `2e-360` e `2e360` (Base 2). CloudWatch não suporta valores especiais como `NaN``+Infinity`, `-Infinity` e.
Tipo: `double`  
 `dimensions`   
(Opcional) As dimensões da métrica. As dimensões fornecem informações adicionais sobre a métrica e seus dados. Uma métrica pode definir até 10 dimensões.  
Esse componente inclui, automaticamente, uma dimensão chamada `coreName`, em que o valor é o nome do núcleo do dispositivo.  
Tipo: o `array` de objetos que contêm, cada um, as seguintes informações:    
 `name`   
(Opcional) O nome da dimensão.  
Tipo: `string`  
 `value`   
(Opcional) O valor da dimensão.  
Tipo: `string`  
 `timestamp`   
(Opcional) O horário em que os dados métricos foram recebidos, expresso em segundos no horário de época do Unix.  
O padrão é a hora em que o componente recebe a mensagem.  
Tipo: `double`  
Se você usar entre as versões 2.0.3 e 2.0.7 deste componente, recomendamos que recupere o carimbo de data/hora separadamente para cada métrica ao enviar várias métricas de uma única fonte. Não use uma variável para armazenar o timestamp.  
 `unit`   
(Opcional) A unidade da métrica.  
Tipo: `string`  
Valores válidos: `Seconds`, `Microseconds`, `Milliseconds`, `Bytes`, `Kilobytes`, `Megabytes`, `Gigabytes`, `Terabytes`, `Bits`, `Kilobits`, `Megabits`, `Gigabits`, `Terabits`, `Percent`, `Count`, `Bytes/Second`, `Kilobytes/Second`, `Megabytes/Second`, `Gigabytes/Second`, `Terabytes/Second`, `Bits/Second`, `Kilobits/Second`, `Megabits/Second`, `Gigabits/Second`, `Terabits/Second`, `Count/Second`, `None`  
O padrão é `None`.

**nota**  
Todas as cotas que se aplicam à CloudWatch `PutMetricData` API se aplicam às métricas que você publica com esse componente. As seguintes cotas são especialmente importantes:  
Limite de 40 KB na carga útil da API
20 métricas por solicitação de API
150 transações por segundo (TPS) para a API `PutMetricData`
Para obter mais informações, consulte as [cotas de CloudWatch serviço](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html) no *Guia do CloudWatch usuário*.

**Example Exemplo de entrada**  

```
{
  "request": {
    "namespace": "Greengrass",
    "metricData": {
      "metricName": "latency",
      "dimensions": [
        {
          "name": "hostname",
          "value": "test_hostname"
        }
      ],
      "timestamp": 1539027324,
      "value": 123.0,
      "unit": "Seconds"
    }
  }
}
```

## Dados de saída
<a name="cloudwatch-metrics-component-output-data"></a>

 <a name="connector-component-output-data-pubsub"></a>Por padrão, esse componente publica respostas como dados de saída no publish/subscribe tópico local a seguir. Para obter mais informações sobre como assinar mensagens nesse tópico nos componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

Como opção, é possível configurar esse componente para publicar em um tópico MQTT definindo o parâmetro de configuração `PubSubToIoTCore` como `true`. Para obter mais informações sobre como assinar mensagens em um tópico MQTT nos componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).

**nota**  
As versões 2.0.x do componente publicam respostas como dados de saída em um tópico MQTT por padrão. É necessário especificar o tópico como `subject` na configuração do [componente legado de roteador de assinatura](legacy-subscription-router-component.md).

 **Tópico padrão:** `cloudwatch/metric/put/status` 

**Example Exemplo de resultado: sucesso**  
A resposta inclui o namespace dos dados métricos e o `RequestId` campo da CloudWatch resposta.  

```
{
  "response": {
    "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
    "namespace": "Greengrass",
    "status": "success"
  }
}
```

**Example Exemplo de resultado: falha**  

```
{
  "response" : {
    "namespace": "Greengrass",
    "error": "InvalidInputException",
    "error_message": "cw metric is invalid",
    "status": "fail"
  }
}
```

**nota**  <a name="connector-component-retryable-error"></a>
Se o componente detectar um erro que pode ser repetido, como um erro de conexão, ele tentará publicar novamente no próximo lote.

## Licenças
<a name="cloudwatch-metrics-component-licenses"></a>

Esse componente inclui o seguinte licenciamento/software de terceiros:<a name="boto-3-licenses"></a>
+ [AWS SDK para Python (Boto3)](https://pypi.org/project/boto3/)/Licença Apache 2.0
+ [botocore](https://pypi.org/project/botocore/)/Licença Apache 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/Licença PSF
+ [docutils](https://pypi.org/project/docutils/)/Licença BSD, GNU Licença pública geral (GPL), Licença Python Software Foundation, Domínio público
+ [jmespath](https://pypi.org/project/jmespath/)/Licença MIT
+ [s3transfer](https://pypi.org/project/s3transfer/)/Licença Apache 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/Licença MIT

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Arquivo de log local
<a name="cloudwatch-metrics-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/aws.greengrass.Cloudwatch.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\aws.greengrass.Cloudwatch.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `{{/greengrass/v2}}` ou {{C:\\greengrass\\v2}} pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f {{/greengrass/v2}}/logs/aws.greengrass.Cloudwatch.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content {{C:\greengrass\v2}}\logs\aws.greengrass.Cloudwatch.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="cloudwatch-metrics-component-changelog"></a>

A tabela a seguir descreve as alterações em cada versão do componente.

------
#### [ v4.x - v3.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 4.0.0 |  **Novos recursos**<br />   A `UseInstaller` configuração agora é padronizada para. `false`     | 
| 3.2.0 |  **Novos recursos**<br />   Adiciona suporte a receitas para o Greengrass nucleus lite     | 
| 3.1.0 |  **Correções de bugs e melhorias**<br />   Adiciona suporte para configurações de proxy de rede HTTPS. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy) e [Ative o dispositivo principal para confiar em um proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).     | 
| 3.0.0 | <a name="changelog-cloudwatch-metrics-3.0.0-major-version-changes"></a>Essa versão do componente de CloudWatch métricas espera parâmetros de configuração diferentes da versão 2.x. Se você usar uma configuração não padrão para a versão 2.x e quiser atualizar da v2.x para a v3.x, deverá atualizar a configuração do componente. Para obter mais informações, consulte a [configuração do componente de CloudWatch métricas](#cloudwatch-metrics-component-configuration).<a name="changelog-cloudwatch-metrics-3.0.0"></a>**Novos recursos**<br />   Adiciona suporte para dispositivos principais que executam o Windows.   Altera o tipo de componente de componente do Lambda para componente genérico. Agora, esse componente não depende mais do componente antigo do roteador de assinatura para criar assinaturas.    Adiciona um novo parâmetro de configuração `InputTopic` para especificar o tópico no qual o componente se inscreve para receber mensagens.   Adiciona um novo parâmetro de configuração `OutputTopic` para especificar o tópico no qual o componente publica respostas de status.   Adiciona um novo parâmetro de `PubSubToIoTCore` configuração para especificar se deseja publicar e assinar tópicos do AWS IoT Core MQTT.   Adiciona o novo parâmetro de configuração `UseInstaller` que permite desativar opcionalmente o script que instala as dependências dos componentes.   <br />**Correções de bugs e melhorias**<br /> Adiciona suporte para timestamps duplicados nos dados de entrada.  | 

------
#### [ v2.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 2.1.8 | Versão atualizada para o Greengrass nucleus versão 2.13.0. | 
| 2.1.3 | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
| 2.1.2 | Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass. | 
| 2.1.1 | Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass. | 
| 2.1.0 |  **Novos recursos**<br />   Inclui suporte para configurações de proxy de rede HTTPS. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy) e [Ative o dispositivo principal para confiar em um proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).     | 
| 2.0.8 |  **Correções de bugs e melhorias**<br />   Adiciona suporte para timestamps duplicados nos dados de entrada.   Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.     | 
| 2.0.7 | Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass. | 
| 2.0.6 | Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass. | 
| 2.0.5 | Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0. | 
| 2.0.4 | Versão atualizada para o Greengrass nucleus versão 2.1.0. | 
| 2.0.3 | Versão inicial. | 

------

## Consulte também
<a name="cloudwatch-metrics-component-see-also"></a>
+ [Usando CloudWatch métricas da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) no *Guia do CloudWatch usuário da Amazon*
+ [PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)na *Amazon CloudWatch API Reference*