If you have more than one server ( Hopefully in separate DC's / Providers )
I find the best method is to run Cacti on both servers.
have it monitor the server locally like normal however add the other server in as a host and simply just use ping ( or whatever other services to monitor )
Then You will get an alert from either server if one dies . And its free as you already have servers.
If thats too much, Simply create a php / perl script that you can cron to test certain things.
If they fail, attempt a restart of the server automatic and then email you.
What are some of the best free/paid uptime monitoring services that you've used?
Pingdom has always done a great job for us, they offer to track up to one website for free before having to upgrade. Another tool that we've used has been UptimeRobot, it's free and lets you add up to 50 websites to your "check list", checks them every 5 minutes and sends you email notifications when websites go down and when they come back up. By far the best tool for monitoring multiple websites at once.
█ Will Hosting LLC - Affordable and Reliable Hosting Solutions
█ 24/7 Premium Monitoring & Support Staff!
█ Domain Included | 99.9% Uptime Guaranteed | 30 Day Money Back Guarantee!
█ Follow us on Twitter: @WillHosting