How to monitor a web server and get notified when it goes offline?

view story

http://stackoverflow.com – I'm looking at setting up a monitor for my production server that will send an email notification should the server go offline for more than 10 minutes. I've checked out a number of paid services, including my own VPS host that offer different types of monitoring; heartbeat, ping, SQL, etc... Paying for a service is an option, but I'm not sure what a reasonable price is, if a reasonable service is available for free, or if rolling my own is just as reasonable. Is a heartbeat better than ping? Should I monitor the database (same machine) separately? is 10 minutes a good period of time? I'm (HowTos)