I recently built a janky system which runs nmon (plus a few custom rpi stats) every two minutes or so and pushes the output file to a watch folder. Another service uploads to server if network available. The server then ingests into timescale. Have been running it on two rpis and a few aws servers for the past few months.
Edit: I’m using grafana but was considering checking out apache superset.