What strategies would you use to monitor and alert on the health of a distributed microservices application?