Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass - AWS IoT Greengrass

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á.

Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass

Os dados de telemetria da integridade do sistema são dados de diagnóstico que podem ajudá-lo a monitorar o desempenho de operações críticas em seus dispositivos de núcleo do Greengrass. Você pode criar projetos e aplicativos para recuperar, analisar, transformar e relatar dados de telemetria de seus dispositivos periféricos. Especialistas em domínio, como engenheiros de processo, podem usar esses aplicativos para obter informações sobre a integridade da frota.

Você pode usar os seguintes métodos para coletar dados de telemetria de seus dispositivos principais do Greengrass:

  • Componente emissor de telemetria do núcleo — O componente emissor de telemetria do núcleo (aws.greengrass.telemetry.NucleusEmitter) em um dispositivo principal do Greengrass publica dados de telemetria no tópico por padrão. $local/greengrass/telemetry Você pode usar os dados publicados neste tópico para agir localmente em seu dispositivo principal, mesmo quando seu dispositivo tem conectividade limitada com a nuvem. Opcionalmente, você também pode configurar o componente para publicar dados de telemetria em um tópico do AWS IoT Core MQTT de sua escolha.

    Você deve implantar o componente emissor de núcleo em um dispositivo principal para publicar dados de telemetria. Não há custos associados à publicação de dados de telemetria no tópico local. No entanto, o uso de um tópico do MQTT para publicar dados no Nuvem AWS está sujeito a AWS IoT Corepreços.

    AWS IoT Greengrassfornece vários componentes da comunidade para ajudá-lo a analisar e visualizar dados de telemetria localmente em seu dispositivo principal usando o InfluxDB e o Grafana. Esses componentes usam dados de telemetria do componente emissor do núcleo. Para obter mais informações, consulte o README do componente editor do InfluxDB.

  • Agente de telemetria — O agente de telemetria nos principais dispositivos do Greengrass coleta dados de telemetria locais e os publica na Amazon sem exigir nenhuma interação com o cliente. EventBridge Os dispositivos principais publicam dados de telemetria com EventBridge base no melhor esforço. Por exemplo, os dispositivos de núcleo podem falhar em fornecer dados de telemetria quando estão off-line.

    O recurso de agente de telemetria está ativado por padrão para todos os dispositivos principais do Greengrass. Você começa a receber dados automaticamente assim que configura um dispositivo principal do Greengrass. Além dos custos do link de dados, a transferência de dados do dispositivo principal para o AWS IoT Core é gratuita. Isso ocorre porque o atendente publica em um tópico reservado AWS. No entanto, dependendo do seu caso de uso, você pode incorrer em custos ao receber ou processar os dados.

    nota

    EventBridge A Amazon é um serviço de ônibus de eventos que você pode usar para conectar seus aplicativos a dados de várias fontes, como os principais dispositivos do Greengrass. Para obter mais informações, consulte O que é a Amazon EventBridge? no Guia do EventBridge usuário da Amazon.

Para garantir que o software AWS IoT Greengrass principal funcione adequadamente, AWS IoT Greengrass use os dados para fins de desenvolvimento e melhoria da qualidade. Esse recurso também ajuda a informar recursos de ponta novos e aprimorados. AWS IoT Greengrassretém os dados de telemetria por até sete dias.

Esta seção descreve como configurar e usar o agente de telemetria. Para obter informações sobre como configurar o componente emissor de telemetria do núcleo, consulte. Emissor de telemetria Nucleus

Métricas de telemetria

A tabela a seguir descreve as métricas publicadas pelo agente de telemetria.

Nome Descrição

Sistema

SystemMemUsage

A quantidade de memória atualmente em uso por todos os aplicativos no dispositivo de núcleo do Greengrass, incluindo o sistema operacional.

CpuUsage

A quantidade de CPU atualmente em uso por todos os aplicativos no dispositivo de núcleo do Greengrass, incluindo o sistema operacional.

TotalNumberOfFDs

O número de descritores de arquivo armazenados pelo sistema operacional do dispositivo de núcleo do Greengrass. Um descritor de arquivo identifica exclusivamente um arquivo aberto.

Núcleo Greengrass

NumberOfComponentsRunning

O número de componentes que estão sendo executados no dispositivo principal do Greengrass.

NumberOfComponentsErrored

O número de componentes que estão em estado de erro no dispositivo principal do Greengrass.

NumberOfComponentsInstalled

O número de componentes que estão instalados no dispositivo principal do Greengrass.

NumberOfComponentsStarting

O número de componentes que estão começando no dispositivo principal do Greengrass.

NumberOfComponentsNew

O número de componentes que são novos no dispositivo principal do Greengrass.

NumberOfComponentsStopping

O número de componentes que estão parando no dispositivo principal do Greengrass.

NumberOfComponentsFinished

O número de componentes finalizados no dispositivo principal do Greengrass.

NumberOfComponentsBroken

O número de componentes que estão quebrados no dispositivo principal do Greengrass.

NumberOfComponentsStateless

O número de componentes sem estado no dispositivo principal do Greengrass.

Autenticação do dispositivo cliente — Esse recurso requer a versão 2.4.0 ou posterior do componente de autenticação do dispositivo cliente.

VerifyClientDeviceIdentity.Success

O número de vezes que a identidade do dispositivo cliente foi verificada com êxito.

VerifyClientDeviceIdentity.Failure

O número de vezes em que a identidade do dispositivo cliente falhou.

AuthorizeClientDeviceActions.Success

O número de vezes que o dispositivo cliente está autorizado a concluir as ações solicitadas.

AuthorizeClientDeviceActions.Failure

O número de vezes que o dispositivo cliente não está autorizado a concluir as ações solicitadas.

GetClientDeviceAuthToken.Success

O número de vezes que o dispositivo cliente foi autenticado com sucesso.

GetClientDeviceAuthToken.Failure

O número de vezes que o dispositivo cliente não pode ser autenticado.

SubscribeToCertificateUpdates.Success

O número de assinaturas bem-sucedidas de atualizações de certificados.

SubscribeToCertificateUpdates.Failure

O número de tentativas malsucedidas de assinar as atualizações do certificado.

ServiceError

O número de erros internos não tratados na autenticação do dispositivo cliente.

Gerenciador de fluxo — Esse recurso requer a versão 2.7.0 ou posterior do componente do núcleo do Greengrass.

BytesAppended

O número de bytes de dados anexados ao gerenciador de fluxo.

BytesUploadedToIoTAnalytics

O número de bytes de dados que o gerenciador de fluxos exporta para canais em AWS IoT Analytics.

BytesUploadedToKinesis

O número de bytes de dados que o gerenciador de fluxos exporta para streams no Amazon Kinesis Data Streams.

BytesUploadedToIoTSiteWise

O número de bytes de dados que o gerenciador de fluxos exporta para as propriedades do ativo AWS IoT SiteWise.

BytesUploadedToS3

O número de bytes de dados que o gerenciador de fluxos exporta para objetos no Amazon S3.

Definir as configurações do agente de telemetria

O agente de telemetria usa as seguintes configurações padrão:

  • O atendente de telemetria agrega dados de telemetria a cada hora.

  • O atendente de telemetria publica uma mensagem de telemetria a cada 24 horas.

O agente de telemetria publica dados usando o protocolo MQTT com um nível de qualidade de serviço (QoS) de 0, o que significa que ele não confirma a entrega nem tenta publicar novamente. As mensagens de telemetria compartilham uma conexão MQTT com outras mensagens para assinatura destinadas a AWS IoT Core.

Além dos custos do link de dados, a transferência de dados do núcleo para o AWS IoT Core é gratuita. Isso ocorre porque o atendente publica em um tópico reservado AWS. No entanto, dependendo do seu caso de uso, você pode incorrer em custos ao receber ou processar os dados.

Você pode ativar ou desativar o recurso de agente de telemetria para cada dispositivo principal do Greengrass. Você também pode configurar os intervalos nos quais o dispositivo principal agrega e publica dados. Para configurar a telemetria, personalize o parâmetro de configuração da telemetria ao implantar o componente nucleus do Greengrass.

Assine os dados de telemetria em EventBridge

Você pode criar regras na Amazon EventBridge que definam como processar dados de telemetria publicados pelo agente de telemetria no dispositivo principal do Greengrass. Quando EventBridge recebe os dados, ele invoca as ações-alvo definidas em suas regras. Por exemplo, crie regras de eventos que enviem notificações, armazenem informações, tomem medidas corretivas ou invoquem outros eventos.

Eventos de telemetria

Os eventos de telemetria usam o formato a seguir.

{ "version": "0", "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955", "detail-type": "Greengrass Telemetry Data", "source": "aws.greengrass", "account": "123456789012", "time": "2020-11-30T20:45:53Z", "region": "us-east-1", "resources": [], "detail": { "ThingName": "MyGreengrassCore", "Schema": "2020-07-30", "ADP": [ { "TS": 1602186483234, "NS": "SystemMetrics", "M": [ { "N": "TotalNumberOfFDs", "Sum": 6447.0, "U": "Count" }, { "N": "CpuUsage", "Sum": 15.458333333333332, "U": "Percent" }, { "N": "SystemMemUsage", "Sum": 10201.0, "U": "Megabytes" } ] }, { "TS": 1602186483234, "NS": "GreengrassComponents", "M": [ { "N": "NumberOfComponentsStopping", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStarting", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsBroken", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsFinished", "Sum": 1.0, "U": "Count" }, { "N": "NumberOfComponentsInstalled", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsRunning", "Sum": 7.0, "U": "Count" }, { "N": "NumberOfComponentsNew", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsErrored", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStateless", "Sum": 0.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.ClientDeviceAuth", "M": [ { "N": "VerifyClientDeviceIdentity.Success", "Sum": 3.0, "U": "Count" }, { "N": "VerifyClientDeviceIdentity.Failure", "Sum": 1.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Success", "Sum": 20.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Failure", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Success", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Failure", "Sum": 2.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Success", "Sum": 10.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Failure", "Sum": 1.0, "U": "Count" }, { "N": "ServiceError", "Sum": 3.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.StreamManager", "M": [ { "N": "BytesAppended", "Sum": 157745524.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTAnalytics", "Sum": 149012.0, "U": "Bytes" }, { "N": "BytesUploadedToKinesis", "Sum": 12192.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTSiteWise", "Sum": 13321.0, "U": "Bytes" }, { "N": "BytesUploadedToS3", "Sum": 12213.0, "U": "Bytes" } ] } ] } }

A matriz ADP contém uma lista de pontos de dados agregados que têm as seguintes propriedades:

TS

A data e hora de quando os dados foram coletados.

NS

O namespace métrico.

M

Lista de métricas. Uma métrica contém as seguintes propriedades:

N

O nome da métrica.

Sum

A soma dos valores da métrica nesse evento de telemetria.

U

A unidade do valor da métrica.

Para obter mais informações sobre cada métrica, consulteMétricas de telemetria.

Pré-requisitos para criar regras EventBridge

Antes de criar uma EventBridge regra paraAWS IoT Greengrass, você deve fazer o seguinte:

  • Familiarize-se com eventos, regras e metas em EventBridge.

  • Crie e configure os alvos invocados por suas EventBridge regras. As regras podem invocar vários tipos de destinos, como fluxos do Amazon Kinesis, perfis AWS Lambda, tópicos do Amazon SNS e filas do Amazon SQS.

    Sua EventBridge regra e os alvos associados devem estar no Região da AWS local em que você criou seus recursos do Greengrass. Para obter mais informações, consulte Endpoints e cotas do serviço na Referência geral da AWS.

Para obter mais informações, consulte O que é a Amazon EventBridge? e Introdução à Amazon EventBridge no Guia do EventBridge usuário da Amazon.

Crie uma regra de evento para obter dados de telemetria (console)

Use as etapas a seguir para usar o AWS Management Console para criar uma EventBridge regra que receba dados de telemetria publicados pelo dispositivo principal do Greengrass. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento. Para obter mais informações, consulte Criação de uma EventBridge regra que é acionada em um evento a partir de um AWS recurso no Guia do EventBridge usuário da Amazon.

  1. Abra o EventBridgeconsole da Amazon e escolha Criar regra.

  2. Em Name and description (Nome e descrição), insira um nome e uma descrição para a regra.

  3. Em Define pattern (Definir padrão), configure o padrão de regra.

    1. Escolha Event pattern (Padrão de evento).

    2. Escolha Pre-defined pattern by service (Padrão predefinido por serviço).

    3. Em Service provider (Provedor de serviços), escolha AWS.

    4. Em Service name (Nome do serviço), escolha Greengrass.

    5. Em Tipo de evento, selecione Dados de telemetria do Greengrass.

  4. Em Select event bus (Selecionar barramento de eventos), mantenha as opções de barramento de eventos padrão.

  5. Em Select targets (Selecionar destinos), configure seu destino. O exemplo a seguir usa uma fila do Amazon SQS, mas você pode configurar outros tipos de destino.

    1. Em Target, escolha SQS queue.

    2. Para Fila*, escolha sua fila de destino.

  6. Em Tags - optional (Tags - opcional), defina tags para a regra ou deixe os campos em branco.

  7. Escolha Criar.

Crie uma regra de evento para obter dados de telemetria (CLI)

Use as etapas a seguir para usar o AWS CLI para criar uma EventBridge regra que receba dados de telemetria publicados pelos dispositivos principais do Greengrass. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento.

  1. Crie a regra.

    • Substitua thing-name pelo nome da coisa do dispositivo principal.

    Linux or Unix
    aws events put-rule \ --name MyGreengrassTelemetryEventRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
    Windows Command Prompt (CMD)
    aws events put-rule ^ --name MyGreengrassTelemetryEventRule ^ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
    PowerShell
    aws events put-rule ` --name MyGreengrassTelemetryEventRule ` --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"

    As propriedades que são omitidas do padrão são ignoradas.

  2. Adicione o tópico como um destino de regra. O exemplo a seguir usa o Amazon SQS, mas você pode configurar outros tipos de destino.

    • Substitua queue-arn pelo ARN da sua fila do Amazon SQS.

    Linux or Unix
    aws events put-targets \ --rule MyGreengrassTelemetryEventRule \ --targets "Id"="1","Arn"="queue-arn"
    Windows Command Prompt (CMD)
    aws events put-targets ^ --rule MyGreengrassTelemetryEventRule ^ --targets "Id"="1","Arn"="queue-arn"
    PowerShell
    aws events put-targets ` --rule MyGreengrassTelemetryEventRule ` --targets "Id"="1","Arn"="queue-arn"
    nota

    Para permitir que EventBridge a Amazon invoque sua fila de destino, você deve adicionar uma política baseada em recursos ao seu tópico. Para obter mais informações, consulte as permissões do Amazon SQS no Guia EventBridge do usuário da Amazon.

Para obter mais informações, consulte Eventos e padrões de eventos EventBridge no Guia do EventBridge usuário da Amazon.