Cacti is an open source, web-based graphing tool, written in PHP, using RRD as storage, and RRDtool for graphing. It allows to poll services at intervals and graph resulting data, such as CPU load, network bandwidth ulitization, temperature data and others, usually, using data from SNMP OID's.

Courtesy Wikipedia, Cacti (Software):

Cacti is an open source, web-based graphing tool designed as a frontend to RRDtool's data storage and graphing functionality. Cacti allows a user to poll services at predetermined intervals and graph the resulting data. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization. A common usage is to monitor network traffic by polling a network switch or router interface via SNMP.

The frontend is written in PHP; it can handle multiple users, each with their own graph sets, so it is sometimes used by web hosting providers (especially dedicated server, virtual private server, and colocation providers) to display bandwidth statistics for their customers. It can be used to configure the data collection itself, allowing certain setups to be monitored without any manual configuration of RRDtool. Cacti can be extended to monitor any source via shell scripts and executables.

Cacti can use one of two backends - "cmd.php" a PHP script suitable for smaller installations or "spine" (formerly cactid) a C-based poller which can scale to thousands of hosts.

A large and quite active community has formed around the Cacti forums and Plugin Sites providing valuable scripts, templates, advice on writing plugins and documentation.


Useful links