Collectez les données de télémétrie relatives à l'état du système à partir des principaux appareils AWS IoT Greengrass - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Collectez les données de télémétrie relatives à l'état du système à partir des principaux appareils AWS IoT Greengrass

Les données de télémétrie relatives à l'état du système sont des données de diagnostic qui peuvent vous aider à surveiller les performances des opérations critiques sur vos principaux appareils Greengrass. Vous pouvez créer des projets et des applications pour récupérer, analyser, transformer et rapporter des données de télémétrie à partir de vos appareils périphériques. Les experts du domaine, tels que les ingénieurs de processus, peuvent utiliser ces applications pour mieux comprendre l'état de la flotte.

Vous pouvez utiliser les méthodes suivantes pour collecter des données de télémétrie à partir de vos principaux appareils Greengrass :

  • Composant émetteur de télémétrie Nucleus : le composant émetteur de télémétrie Nucleus () d'un appareil central Greengrass publie les données de télémétrie aws.greengrass.telemetry.NucleusEmitter sur le sujet par défaut. $local/greengrass/telemetry Vous pouvez utiliser les données publiées dans cette rubrique pour agir localement sur votre appareil principal, même lorsque la connectivité de celui-ci au cloud est limitée. Facultativement, vous pouvez également configurer le composant pour publier des données de télémétrie sur un sujet AWS IoT Core MQTT de votre choix.

    Vous devez déployer le composant Nucleus Emitter sur un périphérique principal pour publier les données de télémétrie. La publication de données de télémétrie sur le sujet local n'entraîne aucun coût. Toutefois, l'utilisation d'une rubrique MQTT pour publier des données sur le AWS Cloud est soumise à une AWS IoT Coretarification.

    AWS IoT Greengrassfournit plusieurs composants communautaires pour vous aider à analyser et à visualiser les données de télémétrie localement sur votre appareil principal à l'aide d'InfluxDB et Grafana. Ces composants utilisent les données de télémétrie du composant émetteur du noyau. Pour plus d'informations, consultez le fichier README du composant éditeur InfluxDB.

  • Agent de télémétrie : l'agent de télémétrie installé sur les appareils principaux de Greengrass collecte des données de télémétrie locales et les publie sur Amazon sans aucune interaction avec le client. EventBridge Les appareils principaux publient des données de télémétrie dans EventBridge la mesure du possible. Par exemple, les appareils principaux peuvent ne pas fournir de données de télémétrie lorsqu'ils sont hors ligne.

    La fonctionnalité d'agent de télémétrie est activée par défaut pour tous les appareils principaux de Greengrass. Vous commencez automatiquement à recevoir des données dès que vous configurez un appareil principal Greengrass. Outre les frais de liaison de données, le transfert de données de l'appareil principal vers le périphérique AWS IoT Core est gratuit. Cela est dû au fait que l'agent publie sur un sujet AWS réservé. Toutefois, en fonction de votre cas d'utilisation, vous pouvez encourir des frais lorsque vous recevez ou traitez les données.

    Note

    Amazon EventBridge est un service de bus d'événements que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources, telles que les appareils principaux de Greengrass. Pour plus d'informations, consultez Qu'est-ce qu'Amazon EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.

Pour garantir le bon fonctionnement du logiciel de AWS IoT Greengrass base, AWS IoT Greengrass utilise les données à des fins de développement et d'amélioration de la qualité. Cette fonctionnalité contribue également à définir de nouvelles fonctionnalités de pointe améliorées. AWS IoT Greengrassconserve les données de télémétrie pendant sept jours au maximum.

Cette section décrit comment configurer et utiliser l'agent de télémétrie. Pour plus d'informations sur la configuration du composant émetteur de télémétrie Nucleus, consultez. Émetteur de télémétrie Nucleus

Métriques de télémétrie

Le tableau suivant décrit les métriques publiées par l'agent de télémétrie.

Name (Nom) Description

Système

SystemMemUsage

La quantité de mémoire actuellement utilisée par toutes les applications du périphérique principal de Greengrass, y compris le système d'exploitation.

CpuUsage

La quantité de processeur actuellement utilisée par toutes les applications du périphérique principal de Greengrass, y compris le système d'exploitation.

TotalNumberOfFDs

Nombre de descripteurs de fichiers stockés par le système d'exploitation du périphérique principal Greengrass. Un descripteur de fichier identifie de manière unique un fichier ouvert.

Noyau de Greengrass

NumberOfComponentsRunning

Le nombre de composants qui s'exécutent sur le périphérique principal de Greengrass.

NumberOfComponentsErrored

Nombre de composants présentant un état d'erreur sur le périphérique principal de Greengrass.

NumberOfComponentsInstalled

Le nombre de composants installés sur le périphérique principal de Greengrass.

NumberOfComponentsStarting

Le nombre de composants qui démarrent sur le périphérique principal de Greengrass.

NumberOfComponentsNew

Le nombre de composants nouveaux sur le périphérique principal de Greengrass.

NumberOfComponentsStopping

Le nombre de composants qui s'arrêtent sur le périphérique principal de Greengrass.

NumberOfComponentsFinished

Le nombre de composants terminés sur le périphérique principal Greengrass.

NumberOfComponentsBroken

Le nombre de composants cassés sur le périphérique principal de Greengrass.

NumberOfComponentsStateless

Le nombre de composants qui sont apatrides sur le périphérique principal de Greengrass.

Authentification du périphérique client : cette fonctionnalité nécessite la version 2.4.0 ou ultérieure du composant d'authentification du périphérique client.

VerifyClientDeviceIdentity.Success

Nombre de fois que l'identité de l'appareil client a été vérifiée avec succès.

VerifyClientDeviceIdentity.Failure

Nombre de fois où la vérification de l'identité de l'appareil client a échoué.

AuthorizeClientDeviceActions.Success

Le nombre de fois où le dispositif client est autorisé à effectuer les actions demandées.

AuthorizeClientDeviceActions.Failure

Le nombre de fois où l'appareil client n'est pas autorisé à effectuer les actions demandées.

GetClientDeviceAuthToken.Success

Le nombre de fois que l'appareil client est authentifié avec succès.

GetClientDeviceAuthToken.Failure

Le nombre de fois où l'appareil client ne peut pas être authentifié.

SubscribeToCertificateUpdates.Success

Le nombre d'abonnements réussis aux mises à jour de certificats.

SubscribeToCertificateUpdates.Failure

Nombre de tentatives infructueuses de souscription aux mises à jour des certificats.

ServiceError

Nombre d'erreurs internes non gérées sur l'authentification de l'appareil client.

Gestionnaire de flux — Cette fonctionnalité nécessite la version 2.7.0 ou ultérieure du composant Greengrass Nucleus.

BytesAppended

Nombre d'octets de données ajoutés au gestionnaire de flux.

BytesUploadedToIoTAnalytics

Le nombre d'octets de données que le gestionnaire de flux exporte vers les canaux vers lesquelsAWS IoT Analytics.

BytesUploadedToKinesis

Le nombre d'octets de données que le gestionnaire de flux exporte vers des flux dans Amazon Kinesis Data Streams.

BytesUploadedToIoTSiteWise

Le nombre d'octets de données que le gestionnaire de flux exporte vers les propriétés des actifs dansAWS IoT SiteWise.

BytesUploadedToS3

Le nombre d'octets de données que le gestionnaire de flux exporte vers des objets dans Amazon S3.

Configuration des paramètres de l'agent de télémétrie

L'agent de télémétrie utilise les paramètres par défaut suivants :

  • L'agent de télémétrie agrège les données de télémétrie toutes les heures.

  • L'agent de télémétrie publie un message de télémétrie toutes les 24 heures.

L'agent de télémétrie publie les données à l'aide du protocole MQTT avec un niveau de qualité de service (QoS) de 0, ce qui signifie qu'il ne confirme pas la livraison ni ne réessaie aucune tentative de publication. Les messages de télémétrie partagent une connexion MQTT avec d'autres messages pour les abonnements destinés à. AWS IoT Core

Outre les frais de liaison de données, le transfert de données du cœur vers le AWS IoT Core réseau est gratuit. Cela est dû au fait que l'agent publie sur un sujet AWS réservé. Toutefois, en fonction de votre cas d'utilisation, vous pouvez encourir des frais lorsque vous recevez ou traitez les données.

Vous pouvez activer ou désactiver la fonction d'agent de télémétrie pour chaque appareil principal de Greengrass. Vous pouvez également configurer les intervalles pendant lesquels le périphérique principal agrège et publie les données. Pour configurer la télémétrie, personnalisez le paramètre de configuration de télémétrie lorsque vous déployez le composant Greengrass nucleus.

Abonnez-vous aux données de télémétrie dans EventBridge

Vous pouvez créer des règles dans Amazon EventBridge qui définissent comment traiter les données de télémétrie publiées par l'agent de télémétrie sur l'appareil principal de Greengrass. Lorsqu'il EventBridge reçoit les données, il invoque les actions cibles définies dans vos règles. Par exemple, vous pouvez créer des règles d'événements qui envoient des notifications, stockent des informations sur les événements, prennent des mesures correctives ou invoquent d'autres événements.

Événements de télémétrie

Les événements de télémétrie utilisent le format suivant.

{ "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" } ] } ] } }

Le ADP tableau contient une liste de points de données agrégés possédant les propriétés suivantes :

TS

Horodatage de la collecte des données.

NS

L'espace de noms de la métrique.

M

La liste des métriques. Une métrique contient les propriétés suivantes :

N

Le nom de la métrique.

Sum

Somme des valeurs de la métrique dans cet événement de télémétrie.

U

Unité de la valeur métrique.

Pour plus d'informations sur chaque métrique, consultezMétriques de télémétrie.

Conditions préalables à la création de règles EventBridge

Avant de créer une EventBridge règle pourAWS IoT Greengrass, vous devez effectuer les opérations suivantes :

  • Familiarisez-vous avec les événements, les règles et les cibles dans EventBridge.

  • Créez et configurez les cibles invoquées par vos EventBridge règles. Les règles peuvent invoquer de nombreux types de cibles, telles que les flux Amazon Kinesis, les AWS Lambda fonctions, les rubriques Amazon SNS et les files d'attente Amazon SQS.

    Votre EventBridge règle et les cibles associées doivent se trouver dans l'Région AWSendroit où vous avez créé vos ressources Greengrass. Pour plus d'informations, consultez la section Points de terminaison et quotas du service dans le Références générales AWS.

Pour plus d'informations, consultez Qu'est-ce qu'Amazon EventBridge ? et Getting started with Amazon EventBridge dans le guide de EventBridge l'utilisateur Amazon.

Création d'une règle d'événement pour obtenir des données de télémétrie (console)

Suivez les étapes ci-dessous pour AWS Management Console créer une EventBridge règle qui reçoit les données de télémétrie publiées par le périphérique principal de Greengrass. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement. Pour plus d'informations, consultez la section Création d'une EventBridge règle déclenchant un événement à partir d'une AWS ressource dans le guide de EventBridge l'utilisateur Amazon.

  1. Ouvrez la EventBridgeconsole Amazon et choisissez Create rule.

  2. Sous Name and description (Nom et description), entrez un nom et une description pour la règle.

  3. Sous Define pattern (Définir un modèle), configurez le modèle de règle.

    1. Choisissez Event pattern.

    2. Choisissez Pré-defined pattern by service (Modèle prédéfini par service).

    3. Pour Service Provider (Fournisseur de service), sélectionnez AWS.

    4. Dans Service name (Nom du service), choisissez Greengrass.

    5. Pour Type d'événement, sélectionnez Greengrass Telemetry Data.

  4. Sous Select event bus (Sélectionner un bus d'événements), conservez les options de bus d'événements par défaut.

  5. Sous Select targets (Sélectionner les cibles), configurez votre cible. L'exemple suivant utilise une file d'attente Amazon SQS, mais vous pouvez configurer d'autres types de cibles.

    1. Pour Target, choisissez la file d'attente SQS.

    2. Pour Queue*, choisissez votre file d'attente cible.

  6. Sous Tags - optional (Balises - facultatif), définissez les balises pour la règle ou laissez les champs vides.

  7. Choisissez Créer.

Création d'une règle d'événement pour obtenir des données de télémétrie (CLI)

Suivez les étapes ci-dessous pour AWS CLI créer une EventBridge règle qui reçoit les données de télémétrie publiées par les appareils principaux de Greengrass. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement.

  1. Créez la règle .

    • Remplacez thing-name par le nom de l'objet du périphérique 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\"]}}"

    Les propriétés qui sont omises dans le modèle sont ignorées.

  2. Ajoutez la rubrique en tant que cible de règle. L'exemple suivant utilise Amazon SQS mais vous pouvez configurer d'autres types de cibles.

    • Remplacez queue-arn par l'ARN de votre file d'attente 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"
    Note

    Pour permettre EventBridge à Amazon d'appeler votre file d'attente cible, vous devez ajouter une politique basée sur les ressources à votre sujet. Pour plus d'informations, consultez les autorisations Amazon SQS dans le guide de EventBridge l'utilisateur Amazon.

Pour plus d'informations, consultez la section Événements et modèles d'événements EventBridge dans le guide de EventBridge l'utilisateur Amazon.