Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass

I dati di telemetria sullo stato del sistema sono dati diagnostici che possono aiutarti a monitorare le prestazioni delle operazioni critiche sui tuoi dispositivi principali Greengrass. È possibile creare progetti e applicazioni per recuperare, analizzare, trasformare e generare report sui dati di telemetria dai dispositivi periferici. Gli esperti del settore, come gli ingegneri di processo, possono utilizzare queste applicazioni per ottenere informazioni sullo stato della flotta.

È possibile utilizzare i seguenti metodi per raccogliere dati di telemetria dai dispositivi principali Greengrass:

  • Componente emettitore di telemetria Nucleus: il componente emettitore di telemetria nucleus (aws.greengrass.telemetry.NucleusEmitter) su un dispositivo core Greengrass pubblica i dati di telemetria sull'argomento per impostazione predefinita. $local/greengrass/telemetry Puoi utilizzare i dati pubblicati su questo argomento per agire localmente sul tuo dispositivo principale, anche quando la connettività del dispositivo al cloud è limitata. Facoltativamente, puoi anche configurare il componente per pubblicare dati di telemetria su un argomento AWS IoT Core MQTT di tua scelta.

    È necessario distribuire il componente Nucleus Emitter su un dispositivo principale per pubblicare i dati di telemetria. Non sono previsti costi associati alla pubblicazione dei dati di telemetria sull'argomento locale. Tuttavia, l'uso di un argomento MQTT per la pubblicazione di dati su Cloud AWS è soggetto ai prezzi. AWS IoT Core

    AWS IoT Greengrassfornisce diversi componenti della community per aiutarti ad analizzare e visualizzare i dati di telemetria localmente sul tuo dispositivo principale utilizzando InfluxDB e Grafana. Questi componenti utilizzano i dati di telemetria del componente emettitore del nucleo. Per ulteriori informazioni, consultate il README per il componente publisher InfluxDB.

  • Agente di telemetria: l'agente di telemetria sui dispositivi core Greengrass raccoglie i dati di telemetria locali e li pubblica su Amazon senza richiedere alcuna interazione con il cliente. EventBridge I dispositivi principali pubblicano i dati EventBridge di telemetria con la massima diligenza possibile. Ad esempio, i dispositivi principali potrebbero non riuscire a fornire dati di telemetria mentre sono offline.

    La funzionalità dell'agente di telemetria è abilitata per impostazione predefinita per tutti i dispositivi core Greengrass. Si inizia automaticamente a ricevere dati non appena si configura un dispositivo Greengrass core. Oltre ai costi del collegamento dati, il trasferimento dei dati dal dispositivo principale a AWS IoT Core è gratuito. Questo perché l'agente pubblica su un argomento AWS riservato. Tuttavia, a seconda del caso d'uso, potrebbero verificarsi dei costi quando si ricevono o si elaborano i dati.

    Nota

    Amazon EventBridge è un servizio di bus per eventi che puoi utilizzare per connettere le tue applicazioni con dati provenienti da diverse fonti, come i dispositivi core Greengrass. Per ulteriori informazioni, consulta What is Amazon EventBridge? nella Amazon EventBridge User Guide.

Per garantire il corretto funzionamento del software AWS IoT Greengrass Core, AWS IoT Greengrass utilizza i dati per scopi di sviluppo e miglioramento della qualità. Questa funzionalità aiuta anche a sviluppare nuove e migliorate funzionalità edge. AWS IoT Greengrassconserva i dati di telemetria per un massimo di sette giorni.

Questa sezione descrive come configurare e utilizzare l'agente di telemetria. Per informazioni sulla configurazione del componente dell'emettitore di telemetria Nucleus, vedere. Emettitore di telemetria Nucleus

Metriche di telemetria

La tabella seguente descrive le metriche pubblicate dall'agente di telemetria.

Nome Descrizione

System (Sistema)

SystemMemUsage

La quantità di memoria attualmente utilizzata da tutte le applicazioni sul dispositivo principale Greengrass, incluso il sistema operativo.

CpuUsage

La quantità di CPU attualmente utilizzata da tutte le applicazioni sul dispositivo principale Greengrass, incluso il sistema operativo.

TotalNumberOfFDs

Il numero di descrittori di file memorizzati dal sistema operativo del dispositivo principale Greengrass. Un descrittore di file identifica in modo univoco un file aperto.

Nucleo Greengrass

NumberOfComponentsRunning

Il numero di componenti in esecuzione sul dispositivo principale Greengrass.

NumberOfComponentsErrored

Il numero di componenti in stato di errore sul dispositivo principale Greengrass.

NumberOfComponentsInstalled

Il numero di componenti installati sul dispositivo principale Greengrass.

NumberOfComponentsStarting

Il numero di componenti che si avviano sul dispositivo principale Greengrass.

NumberOfComponentsNew

Il numero di componenti nuovi sul dispositivo principale Greengrass.

NumberOfComponentsStopping

Il numero di componenti che si arrestano sul dispositivo principale Greengrass.

NumberOfComponentsFinished

Il numero di componenti completati sul dispositivo principale Greengrass.

NumberOfComponentsBroken

Il numero di componenti danneggiati sul dispositivo principale Greengrass.

NumberOfComponentsStateless

Il numero di componenti stateless sul dispositivo principale Greengrass.

Autenticazione del dispositivo client: questa funzionalità richiede la versione 2.4.0 o successiva del componente di autenticazione del dispositivo client.

VerifyClientDeviceIdentity.Success

Il numero di volte in cui la verifica dell'identità del dispositivo client ha avuto esito positivo.

VerifyClientDeviceIdentity.Failure

Il numero di volte in cui la verifica dell'identità del dispositivo client non è riuscita.

AuthorizeClientDeviceActions.Success

Il numero di volte in cui il dispositivo client è autorizzato a completare le azioni richieste.

AuthorizeClientDeviceActions.Failure

Il numero di volte in cui il dispositivo client non è autorizzato a completare le azioni richieste.

GetClientDeviceAuthToken.Success

Il numero di volte in cui il dispositivo client viene autenticato con successo.

GetClientDeviceAuthToken.Failure

Il numero di volte in cui il dispositivo client non può essere autenticato.

SubscribeToCertificateUpdates.Success

Il numero di sottoscrizioni riuscite agli aggiornamenti dei certificati.

SubscribeToCertificateUpdates.Failure

Il numero di tentativi falliti di sottoscrizione agli aggiornamenti dei certificati.

ServiceError

Il numero di errori interni non gestiti nell'autenticazione del dispositivo client.

Stream manager: questa funzionalità richiede la versione 2.7.0 o successiva del componente Greengrass nucleus.

BytesAppended

Il numero di byte di dati aggiunti allo stream manager.

BytesUploadedToIoTAnalytics

Il numero di byte di dati che Stream Manager esporta nei canali in cui vengono esportati. AWS IoT Analytics

BytesUploadedToKinesis

Il numero di byte di dati che Stream Manager esporta in flussi in Amazon Kinesis Data Streams.

BytesUploadedToIoTSiteWise

Il numero di byte di dati in cui Stream Manager esporta nelle proprietà degli asset. AWS IoT SiteWise

BytesUploadedToS3

Il numero di byte di dati che Stream Manager esporta in oggetti in Amazon S3.

Configura le impostazioni dell'agente di telemetria

L'agente di telemetria utilizza le seguenti impostazioni predefinite:

  • L'agente di telemetria aggrega i dati di telemetria ogni ora.

  • L'agente di telemetria pubblica un messaggio di telemetria ogni 24 ore.

L'agente di telemetria pubblica i dati utilizzando il protocollo MQTT con un livello di qualità del servizio (QoS) pari a 0, il che significa che non conferma la consegna né riprova i tentativi di pubblicazione. I messaggi di telemetria condividono una connessione MQTT con altri messaggi per gli abbonamenti a cui sono destinati. AWS IoT Core

Oltre ai costi del collegamento dati, il trasferimento dei dati dal core all'altro è gratuito. AWS IoT Core Questo perché l'agente pubblica su un argomento AWS riservato. Tuttavia, a seconda del caso d'uso, potrebbero verificarsi dei costi quando si ricevono o si elaborano i dati.

È possibile abilitare o disabilitare la funzionalità dell'agente di telemetria per ogni dispositivo principale Greengrass. È inoltre possibile configurare gli intervalli in base ai quali il dispositivo principale aggrega e pubblica i dati. Per configurare la telemetria, personalizza il parametro di configurazione della telemetria quando distribuisci il componente Greengrass nucleus.

Iscriviti ai dati di telemetria in EventBridge

Puoi creare regole in Amazon EventBridge che definiscono come elaborare i dati di telemetria pubblicati dall'agente di telemetria sul dispositivo principale Greengrass. Quando EventBridge riceve i dati, richiama le azioni mirate definite nelle regole. Ad esempio, è possibile creare regole relative agli eventi che inviano notifiche, archiviano informazioni sugli eventi, intraprendono azioni correttive o richiamano altri eventi.

Eventi di telemetria

Gli eventi di telemetria utilizzano il formato seguente.

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

L'ADParray contiene un elenco di punti dati aggregati con le seguenti proprietà:

TS

Il timestamp di quando i dati sono stati raccolti.

NS

Lo spazio dei nomi metrico.

M

L'elenco delle metriche. Una metrica contiene le seguenti proprietà:

N

Nome del parametro.

Sum

La somma dei valori della metrica in questo evento di telemetria.

U

L'unità del valore metrico.

Per ulteriori informazioni su ciascuna metrica, consulta. Metriche di telemetria

Prerequisiti per creare regole EventBridge

Prima di creare una EventBridge regola perAWS IoT Greengrass, è necessario effettuare le seguenti operazioni:

  • Acquisisci familiarità con eventi, regole e obiettivi in. EventBridge

  • Crea e configura gli obiettivi richiamati dalle tue regole. EventBridge Le regole possono richiamare molti tipi di destinazioni, ad esempio stream Amazon Kinesis, funzioniAWS Lambda, argomenti Amazon SNS e code Amazon SQS.

    La tua EventBridge regola e gli obiettivi associati devono trovarsi nello stesso luogo in Regione AWS cui hai creato le tue risorse Greengrass. Per ulteriori informazioni, consulta Service endpoints and quotas in. Riferimenti generali di AWS

Per ulteriori informazioni, consulta What is Amazon EventBridge? e Guida introduttiva ad Amazon EventBridge nella Amazon EventBridge User Guide.

Crea una regola di evento per ottenere dati di telemetria (console)

Utilizza i seguenti passaggi per AWS Management Console creare una EventBridge regola che riceva i dati di telemetria pubblicati dal dispositivo principale Greengrass. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento. Per ulteriori informazioni, consulta Creazione di una EventBridge regola che si attiva su un evento da una AWS risorsa nella Amazon EventBridge User Guide.

  1. Apri la EventBridgeconsole Amazon e scegli Crea regola.

  2. In Nome e descrizione, immettere un nome e una descrizione per la regola.

  3. In Definisci modello, configurare il modello di regola.

    1. Scegli Event pattern (Modello di eventi).

    2. Scegliere Pre-defined pattern by service (Modello predefinito per servizio).

    3. Per Service provider (Provider di servizi), scegliere AWS.

    4. Per Nome servizio, scegliere Greengrass.

    5. Per Tipo di evento, seleziona Greengrass Telemetry Data.

  4. In Seleziona bus eventi, mantenere le opzioni predefinite del bus eventi.

  5. In Seleziona destinazioni, configura la tua destinazione. L'esempio seguente utilizza una coda Amazon SQS, ma puoi configurare altri tipi di destinazione.

    1. Per Target, scegli la coda SQS.

    2. Per Queue*, scegli la coda di destinazione.

  6. In Tag - facoltativo, definire i tag per la regola o lasciare i campi vuoti.

  7. Scegli Crea.

Crea una regola di evento per ottenere dati di telemetria (CLI)

Utilizza i seguenti passaggi per AWS CLI creare una EventBridge regola che riceva i dati di telemetria pubblicati dai dispositivi principali di Greengrass. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento.

  1. Crea la regola.

    • Sostituisci thing-name con il nome dell'oggetto del dispositivo principale.

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

    Le proprietà omesse dal modello vengono ignorate.

  2. Aggiungi l'argomento come destinazione della regola. L'esempio seguente utilizza Amazon SQS ma puoi configurare altri tipi di destinazione.

    • Sostituisci queue-arn con l'ARN della tua coda 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

    Per consentire EventBridge ad Amazon di richiamare la tua coda di destinazione, devi aggiungere una politica basata sulle risorse all'argomento. Per ulteriori informazioni, consulta le autorizzazioni di Amazon SQS nella Amazon EventBridge User Guide.

Per ulteriori informazioni, consulta la sezione Eventi e modelli di eventi EventBridge nella Amazon EventBridge User Guide.