Recopile datos de telemetría del estado del sistema de los dispositivos principales 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.

Recopile datos de telemetría del estado del sistema de los dispositivos principales 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 Nucleus: el componente emisor de telemetría Nucleus () de un dispositivo central de Greengrass publica los datos de telemetría aws.greengrass.telemetry.NucleusEmitter en el tema de forma predeterminada. $local/greengrass/telemetry 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 AWS IoT Core MQTT que prefiera.

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

    AWS IoT Greengrassproporciona 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 nucleo-emisor. Para obtener más información, consulte el archivo README del componente de publicación InfluxDB.

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

    La función del agente de telemetría está habilitada de forma predeterminada en todos los dispositivos principales de Greengrass. Empezará a recibir datos automáticamente en cuanto configure un dispositivo principal de Greengrass. Además de los costes de enlace de datos, la transferencia de datos desde el dispositivo principal 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 costes 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 de diversas fuentes, como los dispositivos principales de Greengrass. Para obtener más información, consulta ¿Qué es Amazon EventBridge? en la Guía del EventBridge usuario de Amazon.

Para garantizar que el software AWS IoT Greengrass Core funcione correctamente, AWS IoT Greengrass utiliza los datos con fines de desarrollo y mejora de la calidad. Esta función también ayuda a informar sobre las capacidades periféricas nuevas y mejoradas. AWS IoT Greengrassconserva los 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 Nucleus

Métricas de telemetría

En la siguiente tabla se describen las métricas que publica el agente de telemetría.

Nombre Descripción

System (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 que están instalados en el dispositivo principal de Greengrass.

NumberOfComponentsStarting

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

NumberOfComponentsNew

La cantidad 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 que están acabados en el dispositivo principal de Greengrass.

NumberOfComponentsBroken

La cantidad de componentes que están rotos en el dispositivo principal de Greengrass.

NumberOfComponentsStateless

El número de componentes que no tienen estado en el dispositivo principal de Greengrass.

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

VerifyClientDeviceIdentity.Success

El número de veces que se verificó que la identidad del dispositivo cliente se realizó correctamente.

VerifyClientDeviceIdentity.Failure

El número de veces que se verificó que la identidad del dispositivo cliente falló.

AuthorizeClientDeviceActions.Success

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

AuthorizeClientDeviceActions.Failure

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

GetClientDeviceAuthToken.Success

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

GetClientDeviceAuthToken.Failure

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

SubscribeToCertificateUpdates.Success

El número de suscripciones correctas a las 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 cliente.

Administrador de transmisiones: esta función 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 secuencias.

BytesUploadedToIoTAnalytics

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

BytesUploadedToKinesis

El número de bytes de datos que el administrador de secuencias exporta a las transmisiones de Amazon Kinesis Data Streams.

BytesUploadedToIoTSiteWise

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

BytesUploadedToS3

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

Configure los ajustes del agente de telemetría

El agente de telemetría utiliza los siguientes ajustes predeterminados:

  • 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 reintenta publicar los intentos. 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 costes de enlace de datos, la transferencia de datos desde el núcleo es gratuita. AWS IoT Core 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 costes cuando reciba o procese los datos.

Puede activar o desactivar la función 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 núcleo de Greengrass.

Suscríbase 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 desde el agente de telemetría del dispositivo principal de Greengrass. Cuando EventBridge recibe los datos, invoca las acciones objetivo 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" } ] } ] } }

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

TS

La marca de tiempo del momento en que se recopilaron los datos.

NS

El espacio de nombres métrico.

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 sobre cada métrica, consulte. Métricas de telemetría

Requisitos previos para crear reglas EventBridge

Antes de crear una EventBridge regla paraAWS IoT Greengrass, debe hacer lo siguiente:

  • Familiarícese con los eventos, las reglas y los objetivos en EventBridge.

  • Cree y configure los objetivos invocados por sus EventBridge reglas. 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.

    Tu EventBridge regla y los objetivos asociados deben estar en el Región de AWS lugar donde creaste tus 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, consulta ¿Qué es Amazon EventBridge? y Introducción a Amazon EventBridge en la Guía del EventBridge usuario de Amazon.

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

Siga los siguientes pasos AWS Management Console para crear una EventBridge regla 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, consulta Crear una EventBridge regla que se active en un evento desde un AWS recurso en la Guía del EventBridge usuario de Amazon.

  1. Abre la EventBridgeconsola de Amazon y selecciona 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 utiliza una cola de Amazon SQS, pero puede configurar otros tipos de objetivos.

    1. Para Target, elija la cola SQS.

    2. En Queue*, elija 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 siguientes pasos AWS CLI para crear una EventBridge regla 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 el nombre de la cosa por el nombre de la cosa 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. Añada 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 tu cola de destino, debes añadir a tu tema una política basada en recursos. Para obtener más información, consulte los permisos de Amazon SQS en la Guía EventBridge del usuario de Amazon.

Para obtener más información, consulta Eventos y patrones de eventos EventBridge en la Guía del EventBridge usuario de Amazon.