A "might be enough" version of this is built into Windows. Look into the "Recovery" tab of the service properties, as available via services.msc
.
You can act on a service fail with:
"Run a program" could be a small script that sends a mail, for example.
If you want a bigger solution with an overview dashboard and all, there are plenty of system monitoring solutions available. For example SolarWinds IPMonitor comes to mind, or Nagios, or Cacti.