Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite Migrar de AWS IoT Greengrass Version 1.
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 Conector de métricas
O conector CloudWatch Metrics publica métricas personalizadas dos dispositivos Greengrass na Amazon. CloudWatch O conector fornece uma infraestrutura centralizada para publicação de CloudWatch métricas, que você pode usar para monitorar e analisar o ambiente principal do Greengrass e atuar em eventos locais. Para obter mais informações, consulte Usando CloudWatch métricas da Amazon no Guia CloudWatch do usuário da Amazon.
Esse conector recebe dados de métrica como mensagens MQTT. O conector agrupa métricas que estão no mesmo namespace e as publica em intervalos regulares. CloudWatch
Esse conector tem as seguintes versões.
Versão |
ARN |
|---|---|
5 |
|
4 |
|
3 |
|
2 |
|
1 |
|
Para obter informações sobre alterações de versão, consulte o Changelog.
Requisitos
Esse conector tem os seguintes requisitos:
Parâmetros do conector
Esse conector oferece os seguintes parâmetros:
Exemplo de criação de conector (AWS CLI)
O comando CLI a seguir cria um ConnectorDefinition com uma versão inicial que contém o conector CloudWatch Metrics.
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyCloudWatchMetricsConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/CloudWatchMetrics/versions/4", "Parameters": { "PublishInterval" : "600", "PublishRegion" : "us-west-2", "MemorySize" : "16", "MaxMetricsToRetain" : "2500", "IsolationMode" : "GreengrassContainer" } } ] }'
No AWS IoT Greengrass console, você pode adicionar um conector na página Conectores do grupo. Para obter mais informações, consulte Conceitos básicos de conectores do Greengrass (console).
Dados de entrada
Esse conector aceita métricas em um tópico do MQTT e publica as métricas em. CloudWatch As mensagens de entrada devem estar no formato JSON.
- Filtro de tópico na assinatura
-
cloudwatch/metric/put - Propriedades de mensagens
-
request-
Informações sobre a métrica nesta 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 de API
PutMetricData. Apenas onamespace,metricData.metricNamee as propriedadesmetricData.valuesão necessários.Obrigatório:
trueTipo:
objectque inclui as seguintes propriedades: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.
nota
Você não pode especificar um namespace que comece com a string reservada
AWS/.Obrigatório:
trueDigite:
stringPadrão válido:
[^:].* metricData-
Os dados para a métrica.
Obrigatório:
trueTipo:
objectque inclui as seguintes propriedades:metricName-
O nome da métrica.
Obrigatório:
trueDigite:
string dimensions-
As dimensões associadas com a métrica. As dimensões fornecem mais informações sobre a métrica e seus dados. Uma métrica pode definir até 10 dimensões.
Esse conector inclui, automaticamente, uma dimensão chamada
coreName, em que o valor é o nome do núcleo.Obrigatório:
falseTipo:
arrayde objetos de dimensão que incluem as seguintes propriedades:name-
O nome da dimensão.
Obrigatório:
falseDigite:
string value-
O valor da dimensão.
Obrigatório:
falseDigite:
string
timestamp-
O horário em que os dados da métrica foram recebidos, expresso em segundos desde
Jan 1, 1970 00:00:00 UTC. Se esse valor for omitido, o conector usará o horário em que ele recebeu a mensagem.Obrigatório:
falseDigite:
timestampnota
Se você usar entre as versões 1 e 4 desse conector, recomendamos que você recupere o timestamp 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.
value-
O valor para a métrica.
nota
CloudWatch rejeita valores muito pequenos ou muito grandes. Os valores devem estar no intervalo de
8.515920e-109a1.174271e+108(Base 10) ou2e-360a2e360(Base 2). Os valores especiais (por exemplo,NaN,+Infinity,-Infinity) não são compatíveis.Obrigatório:
trueDigite:
double unit-
A unidade da métrica.
Obrigatório:
falseDigite:
stringValores 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
- Limites
-
Todos os limites impostos pela CloudWatch
PutMetricDataAPI se aplicam às métricas ao usar esse conector. É especialmente importante observar os limites a seguir:-
Limite de 40 KB na carga 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 CloudWatch os limites no Guia CloudWatch do usuário da Amazon.
-
- 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
O conector publica informações de status como dados de saída em um tópico MQTT.
- Filtro de tópico na assinatura
-
cloudwatch/metric/put/status - Exemplo de resultado: sucesso
-
A resposta inclui o namespace dos dados métricos e o
RequestIdcampo da CloudWatch resposta.{ "response": { "cloudwatch_rid":"70573243-d723-11e8-b095-75ff2EXAMPLE", "namespace": "Greengrass", "status":"success" } } - Exemplo de resultado: falha
-
{ "response" : { "namespace": "Greengrass", "error": "InvalidInputException", "error_message":"cw metric is invalid", "status":"fail" } }nota
Se o conector detectar um erro que pode ser repetido (por exemplo, erros de conexão), ele tentará publicar novamente no próximo lote.
Exemplo de uso
Use as seguintes etapas de alto nível para configurar um exemplo de função do Lambda Python 3.7 que pode ser usado para testar o conector.
nota
-
Se você usar outros runtimes do Python, poderá criar um symblink do Python3.x para o Python 3.7.
-
Os tópicos Conceitos básicos de conectores (console) e Conceitos básicos de conectores (CLI) contêm etapas detalhadas que mostram como configurar e implantar um exemplo do conector de notificações do Twilio.
-
Certifique-se de cumprir os requisitos para o conector.
Para o requisito de função de grupo, você deve configurar a função para conceder as permissões necessárias e certificar-se de que a função tenha sido adicionada ao grupo. Para ter mais informações, consulte Gerenciar a função de grupo do Greengrass (console) ou Gerenciar a função de grupo do Greengrass (CLI).
-
Crie e publique uma função do Lambda que envie dados de entrada para o conector.
Salve o código de exemplo como arquivo PY. Baixe e descompacte o SDK do AWS IoT Greengrass Core para Python. Crie então um pacote zip que contenha o arquivo PY e a pasta
greengrasssdkno nível raiz. Este pacote zip é o pacote de implantação que você transfere por upload para o AWS Lambda.Depois de criar a função do Lambda Python 3.7, publique uma versão de função e crie um alias.
-
Configure o grupo do Greengrass.
-
Adicione a função do Lambda pelo seu alias (recomendado). Configure o ciclo de vida do Lambda como de longa duração (ou
"Pinned": truena CLI). -
Adicione o conector e configure seus parâmetros.
-
Adicione assinaturas que permitam que o conector receba dados de entrada e envie dados de saída em filtros de tópico compatíveis.
-
Defina a função do Lambda como origem, o conector como destino e use um filtro de tópico de entrada compatível.
-
Defina o conector como origem, o AWS IoT Core como destino, e use um filtro de tópico de saída compatível. Você usa essa assinatura para visualizar mensagens de status no AWS IoT console.
-
-
-
Implante o grupo.
-
No AWS IoT console, na página Teste, inscreva-se no tópico de dados de saída para ver as mensagens de status do conector. A função de exemplo do Lambda é de longa duração e começa a enviar mensagens imediatamente após o grupo ser implantado.
Ao finalizar o teste, você pode definir o ciclo de vida do Lambda como sob demanda (ou
"Pinned": falsena CLI) e implantar o grupo. Isso impede o envio de mensagens pela função.
Exemplo
O exemplo a seguir da função do Lambda envia uma mensagem de entrada para o conector.
import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'cloudwatch/metric/put' def create_request_with_all_fields(): return { "request": { "namespace": "Greengrass_CW_Connector", "metricData": { "metricName": "Count1", "dimensions": [ { "name": "test", "value": "test" } ], "value": 1, "unit": "Seconds", "timestamp": time.time() } } } def publish_basic_message(): messageToPublish = create_request_with_all_fields() print("Message To Publish: ", messageToPublish) iot_client.publish(topic=send_topic, payload=json.dumps(messageToPublish)) publish_basic_message() def lambda_handler(event, context): return
Licenças
O conector CloudWatch Metrics inclui o seguinte software/licenciamento de terceiros:
-
AWS SDK para Python (Boto3)
/Licença Apache 2.0 -
botocore
/Licença Apache 2.0 -
dateutil
/Licença PSF -
docutils
/Licença BSD, GNU Licença pública geral (GPL), Licença Python Software Foundation, Domínio público -
jmespath
/Licença MIT -
s3transfer
/Licença Apache 2.0 -
urllib3
/Licença MIT
Esse conector é liberado de acordo com o Contrato de licença de software do Greengrass Core
Changelog
A tabela a seguir descreve as alterações em cada versão do conector.
Versão |
Alterações |
|---|---|
5 |
Correção para adicionar suporte para timestamps duplicados nos dados de entrada. |
4 |
Adicionado o parâmetro |
3 |
Atualização do runtime do Lambda para Python 3.7, o que altera o requisito de runtime. |
2 |
Corrija para reduzir o registro excessivo. |
1 |
Versão inicial. |
Um grupo do Greengrass só pode conter uma versão do conector por vez. Para obter informações sobre como fazer upgrade de uma versão do conector, consulte Atualizar a versões do conector.
Consulte também
-
Integrar a serviços e protocolos usando conectores do Greengrass
-
Usando CloudWatch métricas da Amazon no Guia do CloudWatch usuário da Amazon
-
PutMetricDatana Amazon CloudWatch API Reference