Erfassen von Telemetriedaten zum Systemstatus von -AWS IoT GreengrassCore-Geräten - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erfassen von Telemetriedaten zum Systemstatus von -AWS IoT GreengrassCore-Geräten

Systemzustand-Telemetriedaten sind Diagnosedaten, mit denen Sie die Leistung kritischer Vorgänge auf Ihren Greengrass-Kerngeräten überwachen können. Sie können Projekte und Anwendungen erstellen, um Telemetriedaten von Ihren Edge-Geräten abzurufen, zu analysieren, zu transformieren und zu melden. Domainexperten wie Prozessingenieure können diese Anwendungen verwenden, um Einblicke in den Flottenzustand zu erhalten.

Sie können die folgenden Methoden verwenden, um Telemetriedaten von Ihren Greengrass-Core-Geräten zu sammeln:

  • Komponente des Telemetrie-Emitters – Die Komponente des Telemetrie-Emitters des Kerns (aws.greengrass.telemetry.NucleusEmitter) auf einem Greengrass-Kerngerät veröffentlicht standardmäßig Telemetriedaten zum $local/greengrass/telemetry Thema. Sie können die in diesem Thema veröffentlichten Daten verwenden, um lokal auf Ihrem Core-Gerät zu reagieren, auch wenn Ihr Gerät über eine eingeschränkte Konnektivität zur Cloud verfügt. Optional können Sie die Komponente auch so konfigurieren, dass Telemetriedaten in einem AWS IoT Core MQTT-Thema Ihrer Wahl veröffentlicht werden.

    Sie müssen die Kern-Emitterkomponente auf einem Core-Gerät bereitstellen, um Telemetriedaten zu veröffentlichen. Für die Veröffentlichung von Telemetriedaten im lokalen Thema fallen keine Kosten an. Die Verwendung eines MQTT-Themas zum Veröffentlichen von Daten in AWS Cloud der unterliegt jedoch den AWS IoT Core Preisen .

    AWS IoT Greengrass bietet mehrere Community-Komponenten, mit denen Sie Telemetriedaten mithilfe von InfluxDB und Grafana lokal auf Ihrem Core-Gerät analysieren und visualisieren können. Diese Komponenten verwenden Telemetriedaten aus der Kern-Emitterkomponente. Weitere Informationen finden Sie in der README für die Herausgeberkomponente von InfluxDB.

  • Telemetrie-Agent – Der Telemetrie-Agent auf Greengrass-Core-Geräten sammelt lokale Telemetriedaten und veröffentlicht sie in Amazon, EventBridge ohne dass Kunden interagieren müssen. Core-Geräte veröffentlichen Telemetriedaten EventBridge nach bestem Wissen und Gewissen in . Beispielsweise können -Core-Geräte Telemetriedaten möglicherweise nicht bereitstellen, wenn sie offline sind.

    Das Telemetrie-Agent-Feature ist standardmäßig für alle Greengrass-Core-Geräte aktiviert. Sie beginnen automatisch mit dem Empfang von Daten, sobald Sie ein Greengrass-Core-Gerät eingerichtet haben. Neben Ihren Datenverbindungskosten AWS IoT Core ist die Datenübertragung vom Core-Gerät zu kostenlos. Dies liegt daran, dass der Agent zu einem AWS reservierten Thema veröffentlicht. Abhängig von Ihrem Anwendungsfall können jedoch Kosten anfallen, wenn Sie die Daten erhalten oder verarbeiten.

    Anmerkung

    Amazon EventBridge ist ein Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbinden können, z. B. Greengrass-Core-Geräten. Weitere Informationen finden Sie unter Was ist Amazon EventBridge? im Amazon- EventBridge Benutzerhandbuch.

Um sicherzustellen, dass die AWS IoT Greengrass -Core-Software ordnungsgemäß funktioniert, AWS IoT Greengrass verwendet die Daten für Entwicklungs- und Qualitätsverbesserungszwecke. Diese Funktion hilft auch dabei, neue und erweiterte Edge-Funktionen zu entwickeln. AWS IoT Greengrass speichert Telemetriedaten bis zu sieben Tage lang.

In diesem Abschnitt wird beschrieben, wie Sie den Telemetrie-Agenten konfigurieren und verwenden. Informationen zur Konfiguration der Kerntelemetrie-Emitterkomponente finden Sie unter Nucleus-Telemetrie-Sender.

Telemetriemetriken

In der folgenden Tabelle werden die Metriken beschrieben, die vom Telemetrie-Agenten veröffentlicht werden.

Name Beschreibung

System (System)

SystemMemUsage

Die Speichermenge, die derzeit von allen Anwendungen auf dem Greengrass-Core-Gerät verwendet wird, einschließlich des Betriebssystems.

CpuUsage

Die Menge an CPU, die derzeit von allen Anwendungen auf dem Greengrass-Core-Gerät verwendet wird, einschließlich des Betriebssystems.

TotalNumberOfFDs

Die Anzahl der vom Betriebssystem des Greengrass-Core-Geräts gespeicherten Dateideskriptoren. Ein Dateideskriptor identifiziert eindeutig eine geöffnete Datei.

Greengrass-Kern

NumberOfComponentsRunning

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät ausgeführt werden.

NumberOfComponentsErrored

Die Anzahl der Komponenten, die sich auf dem Greengrass-Core-Gerät im Fehlerzustand befinden.

NumberOfComponentsInstalled

Die Anzahl der Komponenten, die auf dem Greengrass-Core-Gerät installiert sind.

NumberOfComponentsStarting

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät beginnen.

NumberOfComponentsNew

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät neu sind.

NumberOfComponentsStopping

Die Anzahl der Komponenten, die auf dem Greengrass-Core-Gerät anhalten.

NumberOfComponentsFinished

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät fertig sind.

NumberOfComponentsBroken

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät unterbrochen sind.

NumberOfComponentsStateless

Die Anzahl der Komponenten, die auf dem Greengrass-Kerngerät zustandslos sind.

Client-Geräteauthentifizierung – Diese Funktion erfordert v2.4.0 oder höher der Client-Geräteauthentifizierungskomponente.

VerifyClientDeviceIdentity.Success

Gibt an, wie oft die Überprüfung, dass die Client-Geräteidentität erfolgreich war, erfolgreich war.

VerifyClientDeviceIdentity.Failure

Gibt an, wie oft die Überprüfung, dass die Identität des Client-Geräts fehlgeschlagen ist, fehlgeschlagen ist.

AuthorizeClientDeviceActions.Success

Gibt an, wie oft das Client-Gerät autorisiert ist, angeforderte Aktionen durchzuführen.

AuthorizeClientDeviceActions.Failure

Gibt an, wie oft das Client-Gerät nicht berechtigt ist, angeforderte Aktionen durchzuführen.

GetClientDeviceAuthToken.Success

Gibt an, wie oft das Client-Gerät erfolgreich authentifiziert wurde.

GetClientDeviceAuthToken.Failure

Gibt an, wie oft das Client-Gerät nicht authentifiziert werden kann.

SubscribeToCertificateUpdates.Success

Die Anzahl der erfolgreichen Abonnements für Zertifikatsaktualisierungen.

SubscribeToCertificateUpdates.Failure

Die Anzahl der erfolglosen Versuche, Zertifikatsaktualisierungen zu abonnieren.

ServiceError

Die Anzahl der unbehandelten internen Fehler in der gesamten Client-Geräte-Authentifizierung.

Stream Manager – Diese Funktion erfordert v2.7.0 oder höher der Greengrass-Kernkomponente.

BytesAppended

Die Anzahl der Bytes der an den Stream-Manager angehängten Daten.

BytesUploadedToIoTAnalytics

Die Anzahl der Bytes an Daten, die der Stream-Manager in Kanäle in exportiertAWS IoT Analytics.

BytesUploadedToKinesis

Die Anzahl der Bytes an Daten, die Stream Manager in Streams in Amazon Kinesis Data Streams exportiert.

BytesUploadedToIoTSiteWise

Die Anzahl der Bytes an Daten, die der Stream-Manager in Komponenteneigenschaften in exportiertAWS IoT SiteWise.

BytesUploadedToS3

Die Anzahl der Bytes an Daten, die Stream Manager in Objekte in Amazon S3 exportiert.

Konfigurieren von Telemetrie-Agent-Einstellungen

Der Telemetrie-Agent verwendet die folgenden Standardeinstellungen:

  • Der Telemetrie-Agent aggregiert Telemetriedaten stündlich.

  • Der Telemetrie-Agent veröffentlicht alle 24 Stunden eine Telemetrienachricht.

Der Telemetrie-Agent veröffentlicht Daten mithilfe des MQTT-Protokolls mit einem Quality of Service (QoS)-Level von 0, was bedeutet, dass er die Zustellung nicht bestätigt oder erneut versucht, Veröffentlichungsversuche durchzuführen. Telemetrienachrichten teilen sich eine MQTT-Verbindung mit anderen Nachrichten für Abonnements, die für bestimmt sindAWS IoT Core.

Neben Ihren Datenverbindungskosten AWS IoT Core ist die Datenübertragung vom Kern zu kostenlos. Dies liegt daran, dass der Agent zu einem AWS reservierten Thema veröffentlicht. Abhängig von Ihrem Anwendungsfall können jedoch Kosten anfallen, wenn Sie die Daten erhalten oder verarbeiten.

Sie können die Telemetrie-Agent-Funktion für jedes Greengrass-Kerngerät aktivieren oder deaktivieren. Sie können auch die Intervalle konfigurieren, in denen das Core-Gerät Daten aggregiert und veröffentlicht. Um Telemetrie zu konfigurieren, passen Sie den Telemetrie-Konfigurationsparameter an, wenn Sie die Greengrass-Kernkomponente bereitstellen.

Abonnieren von Telemetriedaten in EventBridge

Sie können Regeln in Amazon erstellen EventBridge , die definieren, wie Telemetriedaten verarbeitet werden, die vom Telemetrieagenten auf dem Greengrass-Kerngerät veröffentlicht werden. Wenn die Daten EventBridge empfängt, werden die in Ihren Regeln definierten Zielaktionen aufgerufen. Sie können beispielsweise Ereignisregeln erstellen, die Benachrichtigungen senden, Ereignisinformationen speichern, Korrekturmaßnahmen ergreifen oder andere Ereignisse aufrufen.

Telemetrieereignisse

Telemetrieereignisse verwenden das folgende Format.

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

Das ADPArray enthält eine Liste aggregierter Datenpunkte mit den folgenden Eigenschaften:

TS

Der Zeitstempel der Datenerfassung.

NS

Der Metrik-Namespace.

M

Die Liste der Metriken. Eine Metrik enthält die folgenden Eigenschaften:

N

Name der Metrik.

Sum

Die Summe der Metrikwerte in diesem Telemetrieereignis.

U

Die Einheit des Metrikwerts.

Weitere Informationen zu den einzelnen Metriken finden Sie unter Telemetriemetriken.

Voraussetzungen für das Erstellen EventBridge von Regeln

Bevor Sie eine - EventBridge Regel für erstellenAWS IoT Greengrass, sollten Sie Folgendes tun:

  • Machen Sie sich mit Ereignissen, Regeln und Zielen in vertraut EventBridge.

  • Erstellen und konfigurieren Sie die Ziele, die von Ihren EventBridge Regeln aufgerufen werden. Regeln können viele Arten von Zielen aufrufen, z. B. Amazon Kinesis-Streams, -AWS LambdaFunktionen, Amazon SNS-Themen und Amazon SQSWarteschlangen.

    Ihre EventBridge Regel und die zugehörigen Ziele müssen sich in der AWS-Region befinden, in der Sie Ihre Greengrass-Ressourcen erstellt haben. Weitere Informationen finden Sie unter Service-Endpunkte und -Kontingente im Allgemeine AWS-Referenz.

Weitere Informationen finden Sie unter Was ist Amazon EventBridge? und Erste Schritte mit Amazon EventBridge im Amazon- EventBridge Benutzerhandbuch.

Erstellen einer Ereignisregel zum Abrufen von Telemetriedaten (Konsole)

Führen Sie die folgenden Schritte aus, um mit eine EventBridge Regel AWS Management Console zu erstellen, die vom Greengrass-Kerngerät veröffentlichte Telemetriedaten empfängt. Auf diese Weise können Webserver, E-Mail-Adressen und andere Themenabonnenten auf das Ereignis reagieren. Weitere Informationen finden Sie unter Erstellen einer EventBridge Regel, die bei einem Ereignis aus einer -AWSRessource ausgelöst wird im Amazon EventBridge -Benutzerhandbuch.

  1. Öffnen Sie die Amazon EventBridge-Konsole und wählen Sie Regel erstellen aus.

  2. Geben Sie unter Name and description (Name und Beschreibung) einen Namen und eine Beschreibung für die Regel ein.

  3. Konfigurieren Sie unter Define pattern (Muster definieren) das Regelmuster.

    1. Wählen Sie Event pattern (Ereignismuster) aus.

    2. Wählen Sie Pre-defined pattern by service (Vordefiniertes Muster nach Service)aus.

    3. Wählen Sie für Service provider (Serviceanbieter) die Option AWS aus.

    4. Wählen Sie für Service-Name die Option Greengrassaus.

    5. Wählen Sie für Ereignistyp die Option Greengrass-Telemetriedaten aus.

  4. Behalten Sie unter Select event bus (Ereignisbus auswählen) die standardmäßigen Ereignisbusoptionen bei.

  5. Konfigurieren Sie unter Select targets (Ziele auswählen) das Ziel. Im folgenden Beispiel wird eine Amazon SQS-Warteschlange verwendet, Sie können jedoch andere Zieltypen konfigurieren.

    1. Wählen Sie für Ziel die Option SQS-Warteschlange aus.

    2. Wählen Sie für Warteschlange* Ihre Zielwarteschlange aus.

  6. Definieren Sie unter Tags - optional Tags für die Regel oder lassen Sie die Felder leer.

  7. Wählen Sie Erstellen.

Erstellen einer Ereignisregel zum Abrufen von Telemetriedaten (CLI)

Führen Sie die folgenden Schritte aus, um mit eine EventBridge Regel AWS CLI zu erstellen, die Telemetriedaten empfängt, die von Greengrass-Core-Geräten veröffentlicht wurden. Auf diese Weise können Webserver, E-Mail-Adressen und andere Themenabonnenten auf das Ereignis reagieren.

  1. Erstellen Sie die -Regel.

    • Ersetzen Sie Objektname durch den Objektnamen des Core-Geräts.

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

    Eigenschaften, die aus dem Muster weggelassen werden, werden ignoriert.

  2. Fügen Sie das Thema als Regelziel hinzu. Im folgenden Beispiel wird Amazon SQS verwendet, Sie können jedoch andere Zieltypen konfigurieren.

    • Ersetzen Sie queue-arn durch den ARN Ihrer Amazon SQS-Warteschlange.

    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"
    Anmerkung

    Damit Amazon Ihre Zielwarteschlange EventBridge aufrufen kann, müssen Sie Ihrem Thema eine ressourcenbasierte Richtlinie hinzufügen. Weitere Informationen finden Sie unter Amazon SQS-Berechtigungen im Amazon- EventBridge Benutzerhandbuch.

Weitere Informationen finden Sie unter Ereignisse und Ereignismuster in EventBridge im Amazon- EventBridge Benutzerhandbuch.