Tip of the Trade: Graphing With Cacti

by Carla Schroder

Cacti is a pre-fab front end to RRDTool that takes the prickles out of writing scripts to capture and parse data to be graphed. Unlike Nagios, it allows you to view trend data.

The Linux/Unix world contains an over-abundance of data collection and graphing applications. A favorite graphing tool is RRDTool. With RRDTool you can collect and graph any data: logfiles, SNMP details, bandwidth usage, room temperatures, CPU temperature, server loads, quotas, inodes, volume spaces, and so on — anything that can be measured can be graphed.

RRDTool is powerful and flexible, but it's just the backend. You still need to write the scripts that capture and parse the data to be graphed. If you'd rather not hassle with this, try Cacti. Cacti is a wonderful pre-fab frontend to RRDTool. Out of the box it meets most admin's needs. It has excellent Web-based administration and graphing pages, and it stores data in a MySQL backend, so it's very fast. Cacti supports templates, which makes rolling it out for new hosts fast and easy.

Cacti is extremely flexible. It can use any data source you care to feed it. You can even write custom scripts for polling or parsing data the way you want. User management is strong, as it allows you to fine-tune both viewing and administration privileges — any way you want.

If you're wondering why would you want to use Cacti when you're already a Nagios guru, the answer is "trend data." Nagios shows real-time status. You can integrate the two with the excellent Nagios Plugin for Cacti.

Cacti is written in PHP, so you'll need to keep an eye on PHP security bulletins. Cacti is well-written, but given PHP's history of exploitability, you'll want to be careful. Visit Cacti.net for documentation, user forums, and downloads.

This article was originally published on Tuesday Sep 19th 2006
Mobile Site | Full Site