The correct way to do this would be to add in your servers' beats configuration their location, so they add to each event their proper metadata in the Elastic Common Schema.
It's documented in the heartbeat installation guide and on this guide.
With the geo metadata the Uptime app, part of the Observability solution, will show you a map as described in this blog post.
Another way would be to use the Elastic Maps instead, create a new index with the server locations (for example uploading a GeoJSON file in Kibana Maps), and then create a map that does the Term Join in the browser to count (fo example) the number of measurements in the last X minutes.
Hope it helps.
