Skip to content

Nucleus Telemetry Agent: Configuration for QOS #1627

Open
@cole-jxn

Description

@cole-jxn

Feature Description
I noticed in the documentation for the Greengrass Nucleus Telemetry Agent that the QOS is set to 0. I have noticed my devices rarely send the aggregated daily telemetry data. To improve this, allowing the QOS to be set to 1 through the component configuration could help improve reliability.

I am referring to this link: https://docs.aws.amazon.com/greengrass/v2/developerguide/telemetry.html

The telemetry agent publishes data using the MQTT protocol with a quality of service (QoS) level of 0, which means that it doesn't confirm delivery or retry publishing attempts. Telemetry messages share an MQTT connection with other messages for subscriptions destined for AWS IoT Core.

Use Case
Why do you need this feature?
For my use case, daily aggregated data works fine, but using QOS = 0 makes it unreliable. I am currently using EventBridge to write the data to CloudWatch logs. I have 20 devices, but typically see updated logs every 5-6 days for a single device. I would expect to see all 20 devices publishing telemetry data every day.

Proposed Solution
Add a configuration field "QOS" to the nucleus component:

{
"telemetry": {
"enabled": true,
"QOS": 1,
"periodicAggregateMetricsIntervalSeconds": 3600,
"periodicPublishMetricsIntervalSeconds": 86400
}
}

Other
Add detailed explanation, stacktraces, related issues, links for us to have context, etc
https://docs.aws.amazon.com/greengrass/v2/developerguide/telemetry.html
https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration-telemetry

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions