+1 for Munin. Very easy to install and deploy. There is a central collecting server and each host being monitored runs a fairly lightweight agent. You can write plugins in any language (bash, Perl, Ruby, PHP etc) to graph custom data points. I prefer Munin over Cacti because Munin's config is in simple text-based config files which can be scripted.