Lightweight way to send metrics to Grafana Cloud?

I'm looking for a lightweight way to send metrics to Grafana Cloud directly from an OpenWrt router.

I am aware of the "recommended" way, prometheus-node-exporter-lua to scrape/present metrics and prometheus' remote_write to collect and pass them on. But as it happens so often with OpenWrt, flash space is very limited on some of the candidates, and prometheus' 12 MB+ package would not fit. prometheus' write_remote protocol using snappy also forbids some kind of hacky script solution that would emulate prometheus' own remote_write functionality.

I would prefer not to use an external prometheus instance to scrape OpenWrt devices since some of them are deployed remotely. And while I have a perma-VPN connection to those and could "relay" the data, one of the main purposes for me using Grafana Cloud is to see if and when a remote device is down, which obviously will not work if the relaying machine is down.

Is there a more lightweight method to get metrics to Grafana Cloud? Has anyone any experience with that? I must admit I'm very thin on the subject, so I'm hoping someone else went down that road already and made notes in a diary.

I have Teltonika Routers and I want to monitor them using either : https://www.cloudrocket.at/posts/monitor-openwrt-nodes-with-prometheus/ or https://github.com/benisai/Openwrt-Monitoring but I am being stuck with the remote_write thing. It apears that Lua packages doesn't naively support remote_write and there is no way we can do aside from installing Prometheus package. I would love to see a solution and if I find any I would post here

May be, zabbix is a workaround you can use. zabbix-agent I used on openwrt, grabbing the required info and sending to zabbix-server. Then, AFAIK, there is a zabbix plugin in grafana.