Client push, instead of server pull, for client metrics


I’m trying to pick a technology stack, to monitor around 100 separate client servers, spread geographically around my country.

At the moment I think we need Grafana, Prometheus, and InfluxDB, but I’m not sure about the specifics of this, or where things should be installed.

I’m wondering if it’s possible to set up an agent on a client, in such a way that the agent initiates the data transfer to my monitoring server. This means that I won’t have to change the httpd configuration, or poke holes in 100 firewalls (most of which I don’t control). I just want to be able to install something on the client, which then periodically sends data to my monitoring server (client push). The monitoring server can have open ports that it listens on, that’s fine.

All of the HOWTO documents I’ve found seem to require server-pull to get the data to the monitoring server, which isn’t acceptable in my situation – most of those servers can’t be configured to listen on a certain port for this sort of traffic.

As far as I can tell, Datadog does things in such a way that you just install an agent on a client, and it does client-push for all the metrics, off to a monitoring server. This is what I want, but using open source, instead of setting up an account with yet another SAAS provider.

Is what I’m after possible?

Thanks in advance.


Have a look at the Prometheus Pushgateway, your use case is not the main usage, but it may do what you are looking for.

Hope it helps.

Good Luck

Thanks wlargou, I appreciate the response.

For anyone who finds this thread in the future, it turns out that the grafana cloud agent does exactly what I’m after here, it’s an agent that you install on a client server, which seems to do the pushing of data instead of having to have open ports that get queried by the monitoring system.

I’m just using the grafana cloud itself at the moment, but apparently this agent can be set up to send data to your own grafana instance.



Great that you are going for Grafana Cloud, indeed the agent would be very useful in your case.

You can also contact cloud support to assist you further if you have any specific requirements or constraints.

Good Luck on your journey :slight_smile: