AWS IoT Greengrass is an open source Internet of Things edge runtime that can be installed on a hardware device.
Greengrass Components are applications running on a Greengrass device. There are many Components, some provided by AWS, others created by independent developers.
If there are so many Greengrass Components, then which of them is the most important?
In my opinion, the most important Greengrass Component for production deployment is the aws.greengrass.LogManager.
Why do I claim that is “the most important” Greengrass Component?
The LogManager Component collects and uploads logs from a Greengrass device to Amazon CloudWatch Logs.
Remote debugging of a malfunctioning Greengrass device installed in a hard-to-reach place is not an easy task. Even worse, you might have a fleet of thousands of Greengrass devices - how could you remotely monitor and debug them?
I typically recommend leveraging the Amazon CloudWatch Logs. This way you can review Greengrass system logs and logs of any Component (application) you deployed on those devices.
Once you identify the issue (using gathered logs), you can solve it, and update the configuration of your fleet (via Greengrass Deployments).
A malfunctioning Greengrass device probably does not provide expected business outcomes - bringing it back to the operational state is crucial and LogManager enables that.
What is your favorite Greengrass Component?