I'm using MRTG to monitor a couple of systems. It's actually made to monitor networktraffic but since it uses SNMP you can basicly monitor anything that has a MIB (this includes CPU, mem, hd space...