I keep munin, http://munin.projects.linpro.no/ installed on all my servers. When things begin to look unwell, it lets you look back to see what resource, temperature, voltage, or activity might have changed.
It is alleged to be easy to add your own data points to it as well.
+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.
It is alleged to be easy to add your own data points to it as well.