Monitoring solution for EC2 based deployment
===

We have some 20 or so servers in EC2, most are dynamically spawned (scaling groups).

We're looking for a solution to monitor the uptime of our application.

As an added bonus this solution could also extend to actually monitoring the servers involved so its easy to go back in time and see what happened just before a downtime or whatnot.

We're looking for a hosted solution ideally, and it should be easy to scale with it (it needs to somehow dynamically deal with servers being added/removed with no interaction from us).

Anyways, hoping for some recommendations from you guys.