Emettitore di telemetria Nucleus - 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à.

Emettitore di telemetria Nucleus

Il nucleus telemetry emitter component (aws.greengrass.telemetry.NucleusEmitter) raccoglie dati di telemetria sullo stato del sistema e li pubblica continuamente su un argomento locale e su un argomento MQTT. AWS IoT Core Questo componente consente di raccogliere dati di telemetria di sistema in tempo reale sui dispositivi principali Greengrass. Per informazioni sull'agente di telemetria Greengrass che pubblica i dati di telemetria di sistema su Amazon, consulta. EventBridge Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass

Per impostazione predefinita, il componente Nucleus Telemetry Emitter pubblica i dati di telemetria ogni 60 secondi nel seguente argomento di pubblicazione/sottoscrizione locale.

$local/greengrass/telemetry

Per impostazione predefinita, il componente dell'emettitore di telemetria nucleus non viene pubblicato su un argomento MQTT. AWS IoT Core È possibile configurare questo componente per la pubblicazione su un argomento AWS IoT Core MQTT al momento della distribuzione. L'uso di un argomento MQTT per pubblicare dati su Cloud AWS è soggetto a 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.

Versioni

Questo componente ha le seguenti versioni:

  • 1.0.x

Type

Questo componente è un componente del plugin ()aws.greengrass.plugin. Il nucleo Greengrass esegue questo componente nella stessa Java Virtual Machine (JVM) del nucleo. Il nucleo si riavvia quando si modifica la versione di questo componente sul dispositivo principale.

Questo componente utilizza lo stesso file di registro del nucleo Greengrass. Per ulteriori informazioni, consulta Monitora AWS IoT Greengrass i registri.

Per ulteriori informazioni, consultare Tipi di componenti.

Sistema operativo

Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:

  • Linux

  • Windows

Dipendenze

Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console. AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

1.0.8

La tabella seguente elenca le dipendenze per la versione 1.0.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.13.0 Rigidi
1.0.7

La tabella seguente elenca le dipendenze per la versione 1.0.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.12.0 Rigidi
1.0.6

La tabella seguente elenca le dipendenze per la versione 1.0.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.11.0 Rigidi
1.0.5

La tabella seguente elenca le dipendenze per la versione 1.0.5 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.10.0 Rigidi
1.0.4

La tabella seguente elenca le dipendenze per la versione 1.0.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.9.0 Rigidi
1.0.3

La tabella seguente elenca le dipendenze per la versione 1.0.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.8.0 Rigidi
1.0.2

La tabella seguente elenca le dipendenze per la versione 1.0.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.7.0 Rigidi
1.0.1

La tabella seguente elenca le dipendenze per la versione 1.0.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.6.0 Rigidi
1.0.0

La tabella seguente elenca le dipendenze per la versione 1.0.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.4.0 <2.5.0 Rigidi

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

pubSubPublish

(Facoltativo) Definisce se pubblicare i dati di telemetria sull'argomento. $local/greengrass/telemetry I valori supportati sono true e false.

Impostazione predefinita: true

mqttTopic

(Facoltativo) L'argomento AWS IoT Core MQTT su cui questo componente pubblica i dati di telemetria.

Imposta questo valore sull'argomento AWS IoT Core MQTT su cui desideri pubblicare i dati di telemetria. Quando questo valore è vuoto, l'emettitore del nucleo non pubblica i dati di telemetria su. Cloud AWS

Impostazione predefinita: ""

telemetryPublishIntervalMs

(Facoltativo) La quantità di tempo (in millisecondi) tra cui il componente pubblica i dati di telemetria. Se imposti questo valore su un valore inferiore al valore minimo supportato, il componente utilizza invece il valore minimo.

Nota

Intervalli di pubblicazione inferiori comportano un maggiore utilizzo della CPU sul dispositivo principale. Ti consigliamo di iniziare con l'intervallo di pubblicazione predefinito e di modificarlo in base all'utilizzo della CPU del dispositivo.

Minimo: 500

Impostazione predefinita: 60000

Esempio: fusione e aggiornamento della configurazione

L'esempio seguente mostra un esempio di aggiornamento di fusione della configurazione che consente la pubblicazione dei dati di telemetria ogni 5 secondi sull'argomento e sull'$local/greengrass/telemetryargomento MQTT. greengrass/myTelemetry AWS IoT Core

{ "pubSubPublish": "true", "mqttTopic": "greengrass/myTelemetry", "telemetryPublishIntervalMs": 5000 }

Dati di output

Questo componente pubblica le metriche di telemetria come array JSON nell'argomento seguente.

Argomento locale: $local/greengrass/telemetry

Facoltativamente, puoi scegliere di pubblicare anche metriche di telemetria su un argomento MQTT. AWS IoT Core Per ulteriori informazioni sugli argomenti, consultate gli argomenti MQTT nella Developer Guide. AWS IoT Core

Esempio Dati di esempio
[ { "A": "Average", "N": "CpuUsage", "NS": "SystemMetrics", "TS": 1627597331445, "U": "Percent", "V": 26.21981271562346 }, { "A": "Count", "N": "TotalNumberOfFDs", "NS": "SystemMetrics", "TS": 1627597331445, "U": "Count", "V": 7316 }, { "A": "Count", "N": "SystemMemUsage", "NS": "SystemMetrics", "TS": 1627597331445, "U": "Megabytes", "V": 10098 }, { "A": "Count", "N": "NumberOfComponentsStarting", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsInstalled", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsStateless", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsStopping", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsBroken", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsRunning", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 7 }, { "A": "Count", "N": "NumberOfComponentsErrored", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsNew", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 0 }, { "A": "Count", "N": "NumberOfComponentsFinished", "NS": "GreengrassComponents", "TS": 1627597331446, "U": "Count", "V": 2 } ]

L'array di output contiene un elenco di metriche con le seguenti proprietà:

A

Il tipo di aggregazione per la metrica.

Per la CpuUsage metrica, questa proprietà è impostata su Average perché il valore pubblicato della metrica è l'utilizzo medio della CPU dall'ultimo evento di pubblicazione.

Per tutte le altre metriche, l'emettitore del nucleo non aggrega il valore metrico e questa proprietà è impostata su. Count

N

Nome del parametro.

NS

Lo spazio dei nomi metrico.

TS

Il timestamp di quando i dati sono stati raccolti.

U

L'unità del valore metrico.

V

Valore del parametro .

L'emettitore del nucleo pubblica le seguenti metriche:

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 che si trovano 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.

Utilizzo

Per utilizzare i dati di telemetria relativi allo stato del sistema, è possibile creare componenti personalizzati basati sugli argomenti in cui l'emettitore nucleare pubblica i dati di telemetria e reagire a tali dati in base alle esigenze. Poiché il componente nucleus emitter offre la possibilità di pubblicare dati di telemetria su un argomento locale, puoi abbonarti a quell'argomento e utilizzare i dati pubblicati per agire localmente sul tuo dispositivo principale. Il dispositivo principale può quindi reagire ai dati di telemetria anche quando ha una connettività limitata al cloud.

Ad esempio, è possibile configurare un componente che ascolta i dati di telemetria sull'$local/greengrass/telemetryargomento e inviare i dati al componente stream manager per trasmettere i dati a. Cloud AWS Per ulteriori informazioni sulla creazione di tale componente, consulta e. Pubblicare/sottoscrivere messaggi locali Crea componenti personalizzati che utilizzano stream manager

File di registro locale

Questo componente utilizza lo stesso file di registro del componente Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

La tabella seguente descrive le modifiche in ogni versione del componente.

Versione

Modifiche

1.0.8

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

1.0.7

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

1.0.6

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

1.0.5

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

1.0.4

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

1.0.3

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

1.0.2

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

1.0.1

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

1.0.0

Versione iniziale.