Recopilación de datos de telemetría del estado del sistema desde los dispositivos principales de AWS IoT Greengrass - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Recopilación de datos de telemetría del estado del sistema desde los dispositivos principales de AWS IoT Greengrass

Los datos de telemetría del estado del sistema son datos de diagnóstico que pueden ayudarlo a monitorear el rendimiento de las operaciones críticas en sus dispositivos principales de Greengrass. Puede crear proyectos y aplicaciones para recuperar, analizar, transformar y generar informes sobre los datos de telemetría de sus dispositivos periféricos. Los expertos de dominio, como los ingenieros de procesos, pueden utilizar estas aplicaciones para obtener información sobre el estado de la flota.

Puede utilizar los siguientes métodos para recopilar datos de telemetría de sus dispositivos principales de Greengrass:

  • Componente emisor de telemetría de núcleo: el componente emisor de telemetría de núcleo (aws.greengrass.telemetry.NucleusEmitter) de un dispositivo principal de Greengrass publica los datos de telemetría en el tema $local/greengrass/telemetry de forma predeterminada. Puede utilizar los datos publicados en este tema para actuar de forma local en su dispositivo principal, incluso si su conectividad a la nube es limitada. Si lo desea, también puede configurar el componente para publicar datos de telemetría en el tema de MQTT AWS IoT Core que prefiera.

    Debe implementar el componente emisor de núcleo en un dispositivo principal para publicar los datos de telemetría. La publicación de los datos de telemetría en el tema local no conlleva ningún costo. Sin embargo, el uso de un tema de MQTT para publicar datos en la Nube de AWS está sujeto a los precios de AWS IoT Core.

    AWS IoT Greengrass ofrece varios componentes comunitarios para ayudarlo a analizar y visualizar los datos de telemetría localmente en su dispositivo principal mediante InfluxDB y Grafana. Estos componentes utilizan datos de telemetría del componente emisor de núcleo. Para obtener más información, consulte el archivo README para el componente publicador de InfluxDB.

  • Agente de telemetría: el agente de telemetría de dispositivos principales de Greengrass recopila datos de telemetría locales y los publica en Amazon EventBridge sin requerir ninguna interacción con el cliente. Los dispositivos principales publican datos de telemetría en EventBridge en función del «mejor esfuerzo». Por ejemplo, es posible que los dispositivos principales no entreguen los datos de telemetría cuando están fuera de línea.

    La característica del agente de telemetría está habilitada de forma predeterminada en todos los dispositivos principales de Greengrass. Empezará a recibir datos automáticamente tan pronto como configure un dispositivo principal de Greengrass. Además de los costos de enlace de datos, la transferencia de datos desde el dispositivo principal hasta AWS IoT Core es gratuita. Esto se debe a que el agente publica en un tema AWS reservado. Sin embargo, en función de su caso de uso, es posible que incurra en costos cuando reciba o procese los datos.

    nota

    Amazon EventBridge es un servicio de bus de eventos que puede utilizar para conectar sus aplicaciones con datos procedentes de diversos orígenes, como los dispositivos principales de Greengrass. Para obtener más información, consulte What is Amazon EventBridge? (¿Qué es Amazon EventBridge?) en la Guía del usuario de Amazon EventBridge.

Para garantizar que el software AWS IoT Greengrass Core funciona correctamente, AWS IoT Greengrass utiliza los datos con fines de desarrollo y mejora de la calidad. Esta característica también ayuda a informar sobre las capacidades de periferia nuevas y mejoradas. AWS IoT Greengrass solo retiene datos de telemetría durante un máximo de siete días.

En esta sección, se describe cómo configurar y utilizar el agente de telemetría. Para obtener información sobre la configuración del componente emisor de telemetría del núcleo, consulte Emisor de telemetría del núcleo.

Métricas de telemetría

En la siguiente tabla, se describen las métricas publicadas por el agente de telemetría.

Nombre Descripción

Sistema

SystemMemUsage

La cantidad de memoria que utilizan actualmente todas las aplicaciones del dispositivo principal de Greengrass, incluido el sistema operativo.

CpuUsage

La cantidad de CPU que utilizan actualmente todas las aplicaciones del dispositivo principal de Greengrass, incluido el sistema operativo.

TotalNumberOfFDs

El número de descriptores de archivos almacenados por el sistema operativo del dispositivo principal de Greengrass. Un descriptor de archivo identifica exclusivamente un archivo abierto.

Núcleo de Greengrass

NumberOfComponentsRunning

El número de componentes que se ejecutan en el dispositivo principal de Greengrass.

NumberOfComponentsErrored

El número de componentes que están en estado de error en el dispositivo principal de Greengrass.

NumberOfComponentsInstalled

El número de componentes instalados en el dispositivo principal de Greengrass.

NumberOfComponentsStarting

El número de componentes que se inician en el dispositivo principal de Greengrass.

NumberOfComponentsNew

El número de componentes nuevos en el dispositivo principal de Greengrass.

NumberOfComponentsStopping

El número de componentes que se detienen en el dispositivo principal de Greengrass.

NumberOfComponentsFinished

El número de componentes terminados en el dispositivo principal de Greengrass.

NumberOfComponentsBroken

El número de componentes dañados en el dispositivo principal de Greengrass.

NumberOfComponentsStateless

El número de componentes sin estado en el dispositivo principal de Greengrass.

Autenticación del dispositivo de cliente: esta característica requiere la versión 2.4.0 o posterior del componente de autenticación del dispositivo de cliente.

VerifyClientDeviceIdentity.Success

El número de veces que se ha comprobado que la identidad del dispositivo de cliente se ha realizado correctamente.

VerifyClientDeviceIdentity.Failure

El número de veces que se verificó que se produjo un error en la identidad del dispositivo de cliente.

AuthorizeClientDeviceActions.Success

El número de veces que el dispositivo de cliente está autorizado a completar las acciones solicitadas.

AuthorizeClientDeviceActions.Failure

El número de veces que el dispositivo de cliente no está autorizado a completar las acciones solicitadas.

GetClientDeviceAuthToken.Success

El número de veces que el dispositivo de cliente se autentica correctamente.

GetClientDeviceAuthToken.Failure

El número de veces que el dispositivo de cliente no se puede autenticar.

SubscribeToCertificateUpdates.Success

El número de suscripciones correctas a actualizaciones de certificados.

SubscribeToCertificateUpdates.Failure

El número de intentos fallidos de suscribirse a las actualizaciones de certificados.

ServiceError

El número de errores internos no controlados en la autenticación del dispositivo de cliente.

Administrador de flujos: esta característica requiere la versión 2.7.0 o posterior del componente núcleo de Greengrass.

BytesAppended

El número de bytes de datos anexos al administrador de flujos.

BytesUploadedToIoTAnalytics

El número de bytes de datos que el administrador de flujos exporta a los canales en AWS IoT Analytics.

BytesUploadedToKinesis

El número de bytes de datos que el administrador de flujos exporta a los flujos de Amazon Kinesis Data Streams.

BytesUploadedToIoTSiteWise

El número de bytes de datos que el administrador de flujos exporta a las propiedades de los activos en AWS IoT SiteWise.

BytesUploadedToS3

El número de bytes de datos que el administrador de flujos exporta a objetos de Amazon S3.

Métricas de sistema: esta característica requiere la versión 2.15.0 o posterior del componente núcleo de Greengrass.

CPUArchitecture

Arquitectura de la unidad central de procesamiento del dispositivo.

Family

Familia de sistemas operativos de dispositivos (solo Windows).

KernelVersion

Versión kernel del dispositivo (solo Unix).

KnowledgeBaseArticles

Artículos de la base de conocimientos instalados en un dispositivo (solo para Windows).

OSBuildMajor

Número de compilación mayor de la versión del sistema operativo (solo Windows).

OSBuildMinor

Número de compilación menor de la versión del sistema operativo (solo Windows).

OSName

Nombre del sistema operativo del dispositivo.

OSVersion

Versión de marketing del sistema operativo del dispositivo.

Configuración de los ajustes del agente de telemetría

El agente de telemetría usa la configuración predeterminada:

  • El agente de telemetría agrega los datos de telemetría cada hora.

  • El agente de telemetría publica un mensaje de telemetría cada 24 horas.

El agente de telemetría publica los datos mediante el protocolo MQTT con un nivel de calidad de servicio (QoS) de 0, lo que significa que no confirma la entrega ni vuelve a intentar publicar los intentos de publicación. Los mensajes de telemetría comparten una conexión MQTT con otros mensajes para las suscripciones destinadas para AWS IoT Core.

Además de los costos de enlace de datos, la transferencia de datos desde el núcleo hasta AWS IoT Core es gratuita. Esto se debe a que el agente publica en un tema AWS reservado. Sin embargo, en función de su caso de uso, es posible que incurra en costos cuando reciba o procese los datos.

Puede habilitar o deshabilitar la característica de agente de telemetría para cada dispositivo principal de Greengrass. También puede configurar los intervalos durante los cuales el dispositivo principal agrega y publica datos. Para configurar la telemetría, personalice el parámetro de configuración de telemetría al implementar el componente de núcleo de Greengrass.

Suscripción a los datos de telemetría en EventBridge

Puede crear reglas en Amazon EventBridge que definan cómo procesar los datos de telemetría publicados por el agente de telemetría desde el dispositivo principal de Greengrass. Cuando EventBridge recibe los datos, invoca las acciones de destino definidas en sus reglas. Por ejemplo, puede crear reglas de eventos que envíen notificaciones, almacenen información sobre eventos, adopten medidas correctivas o invoquen otros eventos.

Eventos de telemetría

Los eventos de telemetría utilizan el siguiente formato.

{ "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" } ] } { "TS": 1750104449426, "NS": "SystemMetrics", "M": [ { "N": "KernelVersion", "Sum": 1, "U": "6.1.140-154.222.amzn2023.x86_64" }, { "N": "OSVersion", "Sum": 1, "U": "2023.7.20250609" }, { "N": "OSName", "Sum": 1, "U": "Amazon Linux" }, { "N": "CPUArchitecture", "Sum": 1, "U": "Broadwell (Server)" }, ] } ] } }

La matriz ADP contiene una lista de puntos de datos agregados que tienen las siguientes propiedades:

TS

Marca temporal del momento en que se recopilaron los datos.

NS

Espacio de nombres de la métrica.

M

Lista de métricas Una métrica contiene las siguientes propiedades:

N

El nombre de la métrica.

Sum

La suma de los valores de la métrica en este evento de telemetría.

U

La unidad del valor métrico.

Para obtener más información acerca de cada métrica, consulte Métricas de telemetría.

Requisitos previos para crear reglas de EventBridge

Antes de crear reglas de EventBridge de eventos para AWS IoT Greengrass, debe hacer lo siguiente:

  • Familiarícese con los eventos, las reglas y los destinos de EventBridge.

  • Cree y configure los destinos que las reglas de EventBridge han invocado. Las reglas pueden invocar muchos tipos de objetivos, como transmisiones de Amazon Kinesis, funciones AWS Lambda, temas de Amazon SNS y colas de Amazon SQS.

    Su regla de EventBridge y los objetivos asociados deben estar en el Región de AWS donde creó sus recursos de Greengrass. Para obtener más información, consulte Puntos de enlace y cuotas en la Referencia general de AWS.

Para obtener más información, consulte What is Amazon EventBridge? (¿Qué es Amazon EventBridge?) y Getting started with Amazon EventBridge (Introducción a Amazon EventBridge) en la Guía del usuario de Amazon EventBridge.

Cree una regla de eventos para obtener datos de telemetría (consola)

Siga los pasos a continuación para usar la Consola de administración de AWS para crear una regla de EventBridge que reciba los datos de telemetría publicados por el dispositivo principal de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento. Para obtener más información, consulte la creación de una regla de EventBridge que se activa en función de un evento de un recurso de AWS en la Guía del usuario de Amazon EventBridge.

  1. Abra la consola de Amazon EventBridge y elija Crear regla.

  2. En Name and description (Nombre y descripción), escriba un nombre y descripción para la regla.

  3. En Define pattern (Definir patrón), configure el patrón de regla.

    1. Seleccione Event pattern.

    2. Elija Pre-defined pattern by service (Patrón predefinido por servicio).

    3. En Service provider (Proveedor de servicios), elija AWS.

    4. En Service name (Nombre del servicio), elija Greengrass.

    5. En Tipo de evento, seleccione Datos de telemetría de Greengrass.

  4. En Select event bus (Seleccionar bus de evento), mantenga las opciones de bus de eventos predeterminadas.

  5. En Select targets (Seleccionar destinos), configure su destino. El siguiente ejemplo usa una cola de Amazon SQS, pero puede configurar otros tipos de destinos.

    1. En Destino, elija la Cola SQS.

    2. En Cola*, seleccione la cola de destino.

  6. En Tags - optional (Etiquetas - opcional), defina etiquetas para la regla o deje los campos vacíos.

  7. Seleccione Crear.

Cree una regla de eventos para obtener datos de telemetría (CLI)

Siga los pasos a continuación para usar la AWS CLI para crear una regla de EventBridge que reciba los datos de telemetría publicados por los dispositivos principales de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento.

  1. Crear la regla.

    • Sustituya thing-name por el nombre del objeto del 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\"]}}"

    Las propiedades que se omiten en el patrón no se tienen en cuenta.

  2. Agregue el tema como destino de la regla. El siguiente ejemplo usa Amazon SQS, pero puede configurar otros tipos de objetivos.

    • Sustituya queue-arn por el ARN de su cola de 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 Amazon EventBridge invoque la cola de destino, debe agregar en el tema una política basada en recursos. Para obtener más información, consulte Permisos de Amazon SQS en la Guía del usuario de Amazon EventBridge.

Para obtener más información, consulte Events and event patterns in EventBridge (Eventos y patrones de eventos en EventBridge) en la Guía del usuario de Amazon EventBridge.