Differentiating Messages from aws.greengrass.telemetry.NucleusEmitter in a multi-core deployment

0

We have multiple greengrass core devices that each have their own deploment. In each deployment, the 'aws.greengrass.telemetry.NucleusEmitter' is configured as follows: { "reset": [], "merge": { "pubSubPublish": "false", "mqttTopic": "<IOT-THING-NAME>", "telemetryPublishIntervalMs": <interval> } } .

This allows us to distinguish between the different MQTT messages returned by the edge devices as they each arrive on a different topic. If we were to place all gg cores under the same deployment, is there a way of distinguishing between the messages that will be published on that topic ? Our requirement is to identify individual gg core devices that have memory/component issues, using the 'aws.greengrass.telemetry.NucleusEmitter' component, while having all devices under one deployment.

gefragt vor 2 Jahren330 Aufrufe
2 Antworten
1
Akzeptierte Antwort

Nucleus 2.6 will support interpolation in component configuration (currently it is only supported in the component recipe Lifecycle section). That will enable you to use the {iot:thingName} variable in the mqttTopic config. Unfortunately, this hasn't been released yet and I can't share a release date. But once that happens, this will definitely be the easiest way.

https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html#recipe-variables

In the interim, you can either create individual Thing deployments containing only the aws.greengrass.telemetry.NucleusEmitter component. Or, you can write your own custom bridge component that forwards messages from $local/greengrass/telemetry to an MQTT topic of your choice. This component can read Nucleus ThingName information from environment variables.

AWS
beantwortet vor 2 Jahren
profile picture
EXPERTE
überprüft vor 5 Tagen
0

This does not appear to be working yet as far as I can tell. I have a deployment that includes the NucleusEmitter component, as well as Nucleus 2.6.0. I have the configuration for mqttTopic set to device/{iot:ThingName}/telemetry. However using the MQTT test client subscribed to device/+/#, I can see that the thing name is not being interpolated.

beantwortet vor 2 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen