This is an article of mine, first published on Wazi
Every organization must monitor its infrastructure’s uptime and performance. While the popular Nagios application is a good general-purpose monitoring program that you can extend with plugins to handle just about any task, you may do even better by employing Cacti as a graphical front end to RRDTool‘s data logging and graphing functionality. Cacti was developed specifically to monitor and collect performance information, while Nagios is more oriented toward state changes, such as noting whether a daemon is up or down.
RRDTool stores all of the necessary information to create graphs and populate them with data in a MySQL database. Cacti provides templates to gather and show information such as system load (CPU, RAM, disks), users connected, MySQL load, and Apache load, all of which can affect the performance of your site.
Cacti’s front end is completely PHP-driven. It supports data gathering via different methods such as scripts in any language and SNMP.