It's quick and dirty, but works great... I suggest webmin's monitoring module (part of the core distribution).
I have mine set up to monitor all the necessary services, and it pages me if something goes down. Works like a charm.
In one instance, I had a web site with some buggy code that was eating up a bunch of processes in the mysql server, so I made a little shell script to do a manual database call from the server and write it out to a text file. Then, I have webmin set up to check the status of that text file. if the text file doesn't exist, then that would indicate the mysql server is choking. When the text file isn't found, i get a page. We finally stomped out the buggy code in the web site, but I kept this monitor in place for a little added comfort.
It's not flashy, and it's very very basic, but webmin works like a charm for me.