Generally you'd want Prometheus servers at each client site. The reason
is that you want to be able to monitor the end devices/services
themselves, rather than also be monitoring/affected by the network. For
example, if the connection is down you'd lose all visibility for the
whole period, even once the connection is back.
Another useful tool is Push Prox:
https://github.com/prometheus-community/PushProx
But you are otherwise correct that the Push Gateway isn't something that
you should be using at all for this use case (unless you also have short
lived cron style jobs that you are wanting to monitor).
--
Stuart Clark