I just wanted to contribute to this discussion, that netdata can perfectly run on extremely weak devices, of any architecture, if you pay attention to a couple of settings that affect its resource consumption.
The first is the data collection frequency. The default is "per second" (`update every = 1), which may be quite expensive in CPU resources for very weak devices. Configuring netdata with `update every = 2` will cut its CPU resources utilization in half, while still maintaining a very high granularity compared to any other solution. For extremely weak devices this setting can be set to 5 or even more. For example, on my tests on RPi 1b, setting it to 5 seconds provides the best results.
Memory footprint can also be controlled using the `history` setting. This defaults to 3600 data collection points. If you set `update every = 5`, setting also `history = 720` will still provide 1 hour of data, but netdata will need just 1/5 of the memory.
Also, netdata has configurable data collection modules. Most notably, `apps.plugin` should be disabled completely on very weak devices. This is as expensive as the netdata daemon itself.
Last, keep in mind that you should examine the netdata resources usage while netdata does not have any viewers on its dashboard. This is the "permanent impact" of netdata on the target system. If there are viewers, the netdata daemon will use additional resources to serve them. But this only happens while you view the dashboard. The data collection frequency also affects the resources required by viewers, since the dashboards query the server with the same frequency data are collected.
If you need help to configure netdata properly for weak IoT devices, I would be glad to help.