Cacti – Network Graphing and Bandwidth Monitoring

Cacti is a free, open-source network monitoring solution specializing in SNMP-based graphing and bandwidth visualization for small to medium networks.

About Cacti

Cacti is a free, open-source network monitoring solution that specializes in SNMP-based graphing and bandwidth visualization. Built on the proven RRDTool foundation, Cacti collects performance data through SNMP polling and renders detailed, customizable graphs showing network device behavior and traffic patterns. Version 1.2.30 addresses multiple security vulnerabilities and improves graphing performance while maintaining Cacti's legendary simplicity and lightweight architecture. The platform serves small-to-medium networks, educational institutions, and service providers requiring cost-effective bandwidth monitoring without enterprise infrastructure overhead. Cacti's extensible plugin system transforms it from a pure graphing tool into a comprehensive monitoring platform supporting alerting, syslog integration, and data aggregation.

System Requirements

  • Operating System: Linux (CentOS 7+, RHEL 7+, Debian 9+, Ubuntu 18.04+), Windows Server 2016+
  • Processor: 2 vCPU minimum; 4+ vCPU recommended for 500+ devices
  • RAM: 2 GB for small deployments, 4-8 GB for 500+ devices
  • Disk Space: 5 GB minimum, 20 GB+ recommended for large RRD storage
  • Additional Requirements: MySQL 5.5+ or MariaDB 5.5+, Apache/Nginx with PHP 7.4+, RRDTool 1.3+, NET-SNMP 5.5+, PHP modules: PDO, pdo_mysql, XML, LDAP, mbstring, openssl, GD

Features Of Cacti

  • SNMP data collection from network devices with template-driven configuration
  • RRDTool-based time-series graphing with customizable visualization
  • Device and host templates for rapid device onboarding
  • Advanced graphing options with multiple consolidation functions
  • Multi-user support with permission-based graph visibility
  • API for external system integration and data export
  • Spine high-performance C-based poller for large deployments
  • SNMP threshold-based device discovery and auto-provisioning
  • Data source templates supporting multiple collection methods
  • Graph aggregation across device groups and interfaces
  • CPI (Cacti Package Interface) plugin system for extensibility
  • Lightweight architecture with minimal resource consumption
  • Png graph image caching for performance optimization

Pros & Cons

Pros

  • Completely free with no licensing restrictions or per-device fees
  • Lightweight architecture running efficiently on minimal infrastructure
  • Simple configuration interface ideal for network administrators
  • Excellent RRDTool graphing with extensive customization options
  • Active community providing free support and plugins
  • Easy device template creation and replication
  • Works well for small-to-medium network deployments

Cons

  • Limited built-in alerting capabilities without Monitor plugin
  • No native event correlation or advanced multi-level alerting
  • Web-based configuration lacks direct API for automation
  • Limited documentation compared to commercial alternatives
  • No official commercial support or SLA guarantees
  • Not suitable for enterprise-scale deployments (1000+ devices)
  • Requires manual configuration for each monitored device

Changelog

Version 1.2.30 (March 2025):
- Security patches for CVE-2024-31445, CVE-2024-31458, CVE-2024-31460
- Performance improvements in graph rendering and SNMP collection
- jQuery updated to 3.7.1
- jQueryUI updated to 1.14.0
- Purify.js updated to 3.1.6
- billboard.js updated to 3.13.0
- Improved poller cache repopulation performance
- Enhanced location and site management in graph list view
- Verbose logging improvements for Boost module
Version 1.2.29 (prior):
- Bug fixes and stability improvements
Version 1.2.27 (prior):
- Multiple security issue resolutions
- Recommended upgrade for all existing deployments

Frequently Asked Questions

Can Cacti monitor devices without SNMP?

Cacti primarily uses SNMP for network device monitoring. Alternative data collection methods exist through data source plugins and scripts that collect data via other protocols (SSH, API calls, custom scripts), but require custom development.

How many devices can Cacti monitor?

Cacti efficiently monitors 100-500 devices with standard PHP poller. Spine C-based poller enables monitoring of 1000+ devices with appropriate hardware (4GB+ RAM, 4+ vCPU). Performance depends on device count, polling interval, and graph complexity.

How do I add alerting to Cacti?

The Monitor plugin adds threshold-based alerting with email notifications. Thresholds trigger when monitored values exceed configured limits. External scripts can be executed on alert triggers for integration with ticketing systems or automation tools.

Is Cacti suitable for monitoring servers and applications?

Cacti focuses on network device SNMP monitoring. While SNMP agents can report system metrics from servers, Cacti lacks native application monitoring. Consider Zabbix or Nagios for comprehensive server and application monitoring alongside network devices.

How do I upgrade from Cacti 1.0.x to 1.2.30?

Backup your Cacti database and configuration files, download 1.2.30, replace program files, then run the database upgrade script. The installer automatically updates database schema and migrates data from legacy versions.

Can Cacti be deployed in Docker containers?

Yes, community-maintained Docker images enable quick Cacti deployment. Containers require persistent volumes for database and RRD file storage. Official Cacti project does not maintain Docker images; community-supported alternatives are available.