thin-edge.io 0.2 — Device Monitoring

Sebastian Buettner
Jul 5 · 3 min read

Managing thousands of IoT devices in the field comes with its own set of challenges: How to ensure all devices operate correctly? How to update software? How to help a customer complaining about a problem on a device?

To solve these challenges, IoT solutions need device management functionality. thin-edge.io provides a device management agent that implements device management functionality on embedded system running e.g. Linux and that have at minimum 16MB free memory.

We have now released version 0.2 of thin-edge.io. This version includes a new “device monitoring” feature. Device monitoring is one of the key functionality of device management. Making sure devices have enough storage left, that CPU and memory are not overloaded or that the temperature of the device is in the supported range, are just some examples. Fully occupied storage is one common error case for many IoT devices. With device monitoring you have the possibility to react before customers complain. Ensure that the device is always in a healthy state.

Which resource to monitor is different from device to device. Proper device monitoring must have the flexibility to collect data from a large variety of resources and services. On the other hand, device monitoring shouldn’t use too much CPU and RAM itself as the main purpose of the device is a different one.

All this you can do with thin-edge.io device monitoring. Read metrics data from 130 sources. Fine-tune polling intervals. All this just adds 200 KiB to your memory budgets (depending on the metrics polled).

The implementation of thin-edge.io is based on the open source project collectd (https://collectd.org/).

Collectd uses a plugin architecture, each plugin supporting a different metrics source. The list of available plugins (https://collectd.org/wiki/index.php/Table_of_Plugins) for collectd is impressive. For many sensors and metrics, just pick and configure the plugin. If no existing plugin fits your requirements, write your own plugin for collectd. To make the initial setup even easier, thin-edge.io provides a default collectd configuration with a minimal set of metrics that can be used e.g. for mobile IoT devices.

Collectd publishes the metrics to the thin-edge.io MQTT bus. From there, thin-edge.io takes care of transforming the data into cloud specific formats and sends the metrics reliable and securely to configured IoT platforms like Azure IoT or Cumulocity IoT. Additionally thin-edge.io compresses individually emitted metrics by collectd. This makes the cloud communication more efficient, both in terms of costs and performance. Internally this is implemented by a new component “collectd-mapper”.

In the end, if you want to add a new metric, just configure the proper plugin for that and your new metric will pop-up in your IoT platform just a few seconds later.

For information on how to get started with device monitoring and thin-edge.io, go to

https://github.com/thin-edge/thin-edge.io/blob/main/docs/src/tutorials/device-monitoring.md

The thin-edge.io team is currently working on more device management features. If you like to get involved, do not hesitate to contact us.

thin-edge.io

- The open edge framework for lightweight IoT devices