I concur with the previous poster about Nagios. I've been using it for a long time and it's extremely stable and non-obtrusive. It only sends mail when there really is something going on with the server. I'll send you a URL you can check out for yourself.
As for "holistic" testing for your Web site, I suggest a 5th leg :-) ... performance/load/stress testing. One approach that worked for me was to blast the Web site via some load tool (I've used siege, httperf, and more recently openload), while actively monitoring the servers (Web/DB) via either 1) command line utilities such as top, vmstat, iostat, etc. or 2) SNMP (I configured net-snmp on each server and then queried the servers for all kinds of things like memory, CPU, disk, number of processes etc.). This way you can see where to tweak your servers for better performance. Of course, you can also run your Web app through a profiler while this is going on, to detect bottlenecks in your code; same thing for your DB.