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
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 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 se inscreve no tópico cloudwatch/metric/put
local de publicação/assinatura. Você pode especificar outros tópicos, inclusive AWS IoT Core MQTT tópicos, ao implantar esse componente.
Esse componente agrupa métricas que estão no mesmo namespace e as publica em intervalos regulares. CloudWatch
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 no Guia do desenvolvedor AWS IoT Greengrass V1.
Versões
Esse componente tem as seguintes versões:
Para obter informações sobre mudanças em cada versão do componente, consulte o changelog.
Tipo
- v3.x
-
Este componente é um componente genérico (aws.greengrass.generic
). O núcleo do Greengrass executa os scripts do ciclo de vida do componente.
- v2.x
-
Esse componente é um componente Lambda () aws.greengrass.lambda
. O núcleo do Greengrass executa a função Lambda desse componente usando o componente lançador Lambda.
Para obter mais informações, consulte Tipos de componentes.
Sistema operacional
- v3.x
-
Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
- v2.x
-
Esse componente pode ser instalado somente nos dispositivos principais do Linux.
Requisitos
Esse componente tem os seguintes requisitos:
- 3.x
-
-
Python versão 3.7 instalado no dispositivo principal e adicionado à variável de ambiente. PATH
-
A função de dispositivo do Greengrass deve permitir a cloudwatch:PutMetricData
ação, conforme mostrado no exemplo IAM de política a seguir.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:PutMetricData"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Para obter mais informações, consulte a referência de CloudWatch permissões da Amazon no Guia CloudWatch do usuário da Amazon.
- 2.x
-
-
Seu dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você quiser que o dispositivo principal execute funções Lambda em contêineres, o dispositivo deve atender aos requisitos para fazer isso. Para obter mais informações, consulte Requisitos da função do Lambda.
-
Python versão 3.7 instalado no dispositivo principal e adicionado à variável de ambiente. PATH
-
A função de dispositivo do Greengrass deve permitir a cloudwatch:PutMetricData
ação, conforme mostrado no exemplo IAM de política a seguir.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:PutMetricData"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Para obter mais informações, consulte a referência de CloudWatch permissões da Amazon no Guia CloudWatch do usuário da Amazon.
-
Para receber dados de saída desse componente, você deve mesclar a seguinte atualização de configuração para o componente antigo do roteador de assinatura (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.xLegacy subscription router v2.0.x
- 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"
}
}
}
-
Substituir region
com o Região da AWS que você usa.
-
Substituir version
com a versão da função Lambda que esse componente executa. Para encontrar a versão da função Lambda, você deve visualizar a receita da versão desse componente que você deseja implantar. Abra a página de detalhes desse componente no AWS IoT Greengrass console e procure o par de valores-chave da função Lambda. Esse par de valores-chave contém o nome e a versão da função Lambda.
Você deve atualizar a versão da função Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função Lambda para a versão do componente que você implanta.
Para obter mais informações, consulte Criar implantações.
Endpoints e portas
Esse componente deve ser capaz de realizar solicitações de saída para os seguintes endpoints e portas, 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.
Endpoint |
Port (Porta) |
Obrigatório |
Descrição |
monitoring.region .amazonaws.com
|
443 |
Sim |
CloudWatch Métricas de upload.
|
Dependências
Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console. Na página de detalhes do componente, procure a lista de dependências.
- 3.0.0 - 3.1.0
-
A tabela a seguir lista as dependências das versões 3.0.0 a 3.1.0 desse componente.
- 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.
- 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.
- 2.1.1
-
A tabela a seguir lista as dependências da versão 2.1.1 desse componente.
- 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.
- 2.0.7
-
A tabela a seguir lista as dependências da versão 2.0.7 desse componente.
- 2.0.6
-
A tabela a seguir lista as dependências da versão 2.0.6 desse componente.
- 2.0.5
-
A tabela a seguir lista as dependências da versão 2.0.5 desse componente.
- 2.0.4
-
A tabela a seguir lista as dependências da versão 2.0.4 desse componente.
- 2.0.3
-
A tabela a seguir lista as dependências da versão 2.0.3 desse componente.
Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.
Configuração
Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.
- v3.x
-
-
PublishInterval
-
(Opcional) O número máximo de segundos de espera 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, especifique0
.
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 recentes.
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. As métricas em um determinado namespace substituem somente as métricas no mesmo namespace.
Se o processo de hospedagem do componente for interrompido, o componente não salvará as métricas. Isso pode acontecer durante uma implantação ou quando o dispositivo principal é 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 no qual o componente se inscreve para receber mensagens. Se você especificar true
paraPubSubToIoTCore
, poderá usar MQTT curingas (+ e #) neste 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 sequência de caracteres que define se os AWS IoT Core MQTT tópicos devem ser publicados e assinados. Os valores compatíveis são true
e false
.
Padrão: false
UseInstaller
-
(Opcional) Valor booleano que define se o script do instalador deve ser usado nesse componente para instalar as SDK dependências desse componente.
Defina esse valor como false
se você quiser usar um script personalizado para instalar dependências ou se quiser incluir dependências de tempo de execução em uma imagem Linux pré-criada. Para usar esse componente, você deve instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o usuário padrão do sistema Greengrass.
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. Esse parâmetro é necessário somente para métricas entre regiões.
accessControl
-
(Opcional) O objeto que contém a política de autorização que permite que o componente publique e assine os tópicos especificados. Se você especificar valores personalizados para InputTopic
eOutputTopic
, deverá 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
"
]
}
}
}
exemplo Exemplo: atualização da mesclagem de configurações
{
"PublishInterval": 0,
"PubSubToIoTCore": true
}
- v2.x
-
A configuração padrão desse componente inclui parâmetros da função 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 da função Lambda desse componente. Esse objeto contém as seguintes informações:
-
EnvironmentVariables
-
Um objeto que contém os parâmetros da função Lambda. Esse objeto contém as seguintes informações:
-
PUBLISH_INTERVAL
-
(Opcional) O número máximo de segundos de espera 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, especifique0
.
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 na qual 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 recentes.
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. As métricas em um determinado namespace substituem somente as métricas no mesmo namespace.
Se o processo de hospedagem do componente for interrompido, o componente não salvará as métricas. Isso pode acontecer durante uma implantação ou quando o dispositivo principal é 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. Esse parâmetro é necessário somente para métricas entre regiões.
containerMode
-
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:
Padrão: GreengrassContainer
-
containerParams
-
(Opcional) Um objeto que contém os parâmetros do contêiner desse componente. O componente usa esses parâmetros se você especificar GreengrassContainer
paracontainerMode
.
Esse objeto contém as seguintes informações:
-
memorySize
-
(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.
O padrão é 64 MB (65.535 KB).
pubsubTopics
-
(Opcional) Um objeto que contém os tópicos em que o componente se inscreve para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve em MQTT tópicos de AWS IoT Core ou em tópicos locais de publicação/assinatura.
Esse objeto contém as seguintes informações:
0
— Este é um índice de matriz como uma string.
-
Um objeto que contém as seguintes informações:
type
-
(Opcional) O tipo de mensagem de publicação/assinatura que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:
-
PUB_SUB
– Assine mensagens locais de publicar/assinar. Se você escolher essa opção, o tópico não poderá conter MQTT curingas. Para obter mais informações sobre como enviar mensagens do componente personalizado ao especificar essa opção, consultePublique/assine mensagens locais.
-
IOT_CORE
— Assine as AWS IoT Core MQTT mensagens. Se você escolher essa opção, o tópico poderá conter MQTT curingas. Para obter mais informações sobre como enviar mensagens de componentes personalizados ao especificar essa opção, consultePublicar/assinar mensagens AWS IoT Core MQTT.
Padrão: PUB_SUB
topic
-
(Opcional) O tópico no qual o componente se inscreve para receber mensagens. Se você especificar IotCore
paratype
, poderá usar MQTT curingas (+
e#
) neste tópico.
exemplo Exemplo: atualização da mesclagem de configuração (modo contêiner)
{
"containerMode": "GreengrassContainer"
}
exemplo Exemplo: atualização de mesclagem de configuração (sem modo de contêiner)
{
"containerMode": "NoContainer"
}
Esse componente aceita métricas sobre o tópico a seguir e as publica em. CloudWatch Por padrão, esse componente assina mensagens locais de publicação/assinatura. Para obter mais informações sobre como publicar mensagens nesse componente a partir de seus componentes personalizados, consultePublique/assine mensagens locais.
A partir da versão v3.0.0 do componente, você pode opcionalmente configurar esse componente para se inscrever em um MQTT tópico definindo o parâmetro de PubSubToIoTCore
configuração como. true
Para obter mais informações sobre a publicação de mensagens em um MQTT tópico em seus componentes personalizados, consultePublicar/assinar mensagens AWS IoT Core MQTT.
Tópico padrão: cloudwatch/metric/put
A mensagem aceita as seguintes propriedades. As mensagens de entrada devem estar em JSON formato.
-
request
-
A métrica nesta mensagem.
O objeto de solicitação contém os dados métricos nos quais publicar CloudWatch. Os valores métricos devem atender às especificações da PutMetricData
operação.
Tipo: 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: 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 chamadacoreName
, em que o valor é o nome do dispositivo principal.
Tipo: array
de objetos em que cada um contém as seguintes informações:
-
name
-
(Opcional) O nome da dimensão.
Tipo: string
-
value
-
(Opcional) O valor da dimensão.
Tipo: string
-
timestamp
-
(Opcional) A hora em que os dados métricos foram recebidos, expressa em segundos no horário da é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 desse componente, 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.
-
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
Padronizado como None
.
Todas as cotas que se aplicam ao 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 API carga
-
20 métricas por API solicitação
-
150 transações por segundo (TPS) para o PutMetricData
API
Para obter mais informações, consulte as cotas de CloudWatch serviço no Guia do CloudWatch usuário.
exemplo 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
Por padrão, esse componente publica respostas como dados de saída no seguinte tópico local de publicação/assinatura. Para obter mais informações sobre como assinar mensagens sobre esse tópico em seus componentes personalizados, consultePublique/assine mensagens locais.
Opcionalmente, você pode configurar esse componente para publicar em um MQTT tópico definindo o parâmetro de PubSubToIoTCore
configuração como. true
Para obter mais informações sobre como assinar mensagens sobre um MQTT tópico em seus componentes personalizados, consultePublicar/assinar mensagens AWS IoT Core MQTT.
Tópico padrão: cloudwatch/metric/put/status
exemplo 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"
}
}
exemplo Exemplo de resultado: falha
{
"response" : {
"namespace": "Greengrass",
"error": "InvalidInputException",
"error_message": "cw metric is invalid",
"status": "fail"
}
}
Se o componente detectar um erro que possa ser repetido, como um erro de conexão, ele tentará publicar novamente no próximo lote.
Licenças
Esse componente inclui o seguinte software/licenciamento de terceiros:
Esse componente é lançado de acordo com o Contrato de Licença de Software Principal do Greengrass.
Arquivo de log local
Esse componente usa o seguinte arquivo de log.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.Cloudwatch.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.Cloudwatch.log
Para ver os registros desse componente
Changelog
A tabela a seguir descreve as alterações em cada versão do componente.
- v3.x
-
Version (Versão)
|
Alterações
|
3.1.0
|
- Correções de erros e melhorias
-
|
3.0.0
|
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.
- Novos atributos
-
-
Adiciona suporte para dispositivos principais que executam o Windows.
-
Altera o tipo de componente de componente 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 InputTopic configuração para especificar o tópico no qual o componente se inscreve para receber mensagens.
-
Adiciona um novo parâmetro de OutputTopic configuração 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 AWS IoT Core MQTT tópicos.
-
Adiciona o novo parâmetro UseInstaller de configuração que permite desativar opcionalmente o script de instalação que instala as dependências dos componentes.
- Correções de erros e melhorias
-
Adiciona suporte para registros de data e hora duplicados nos dados de entrada.
|
- v2.x
-
Version (Versão)
|
Alterações
|
2.1.8
|
Versão atualizada para a versão 2.13.0 do Greengrass nucleus.
|
2.1.3
|
Versão atualizada para a versão 2.11.0 do Greengrass nucleus.
|
2.1.2
|
Versão atualizada para a versão 2.7.0 do Greengrass nucleus.
|
2.1.1
|
Versão atualizada para a versão 2.6.0 do Greengrass nucleus.
|
2.1.0
|
|
2.0.8
|
- Correções de erros e melhorias
-
|
2.0.7
|
Versão atualizada para a versão 2.4.0 do Greengrass nucleus.
|
2.0.6
|
Versão atualizada para a versão 2.3.0 do Greengrass nucleus.
|
2.0.5
|
Versão atualizada para a versão 2.2.0 do Greengrass nucleus.
|
2.0.4
|
Versão atualizada para a versão 2.1.0 do Greengrass nucleus.
|
2.0.3
|
Versão inicial.
|
Consulte também