I'm happy with UptimeRobot, but they're not a heap less than $10/month.
If it's not really worth $10/month to you, do you really care that much? By the time you've "rolled your own" to save $10/month, how much time will you have spent and how close to the reliability of a bespoke service can you get for significantly less money? A cron job and a perl script or two on a $3/month vps will let you _say_ you're monitoring your servers, but if your monitor is less reliable that your web servers it's just going to wake you up on weekends and get ignored...