Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
==Introduction==
When dealing with IoT fleets, one of the major concerns is monitoring the devices' health status. The "health status" is a generic expression that may include tons of parameters, ranging from the system-on-chip's temperature to the number of processes running in Linux's user space.
This Technical Note (TN for short) illustrates how to combine some well-known, open-source software to implement a monitoring system for such devices. It is based on:* [https://grafana.com/ Grafana]: ''visualization and analytics software''.* [https://www.influxdata.com/ InfluxDB 2.0]: ''a time series database''.* [https://nicolargo.github.io/glances/ Glances]: ''a cross-platform system monitoring tool written in Python''. In essence, the example described implements the following scheme. TBD The IoT device is an [[MISC-TN-004:_Running_Debian_(armbian)_on_SBCSPG|SBCSPG IIoT gateway]] running Debian [[MISC-TN-026:_Automated_test_equipment_(ATE)_monitoring_with_SBCSPG_gateway,_ThingsBoard_IoT,_and_Fledge|Bullseye]]. An instance of Glances runs on SBCSPG for collecting data (CPU load, memory usage, network traffic, etc.). These data are pushed into InfluxDB. Grafana retrieves these data from the database and shows them in a beautiful dashboard. For the sake of simplicity, Grafana and InfluxDB were installed on the same host, but they can indeed run on different machines. ==Setting up InfluxDB 2.0 and Grafana== [[File:Sbcspg-glances-grafana-2.png|center|thumb|600px|Getting the API token from Grafana]] [[File:Sbcspg-glances-grafana-1.png|center|thumb|600px|Grafana dashboard showing collected data]]
armbian@sbcspg:~/devel/glances$ python3 -m venv ~/devel/glances/venv/
4,650
edits