With physical servers and VMs scattered all over the world and across different providers, we need some way to monitor them and make sure they're behaving as they should. We also want to recieve notifications when they aren't and see a historical overview of what was going on around that time so we can troubleshoot as necessary. To that end, a combination of Prometheus and Grafana will fit perfectly. Prometheus will act as the backend, collecting and aggregating data from literally everything (applications, VMs, and physical hosts), while Grafana will take that data and present it in a useful manner through a highly configurable and extensible dashboard. Grafana also has a built-in granular alert system to fill that need as well.