Cacti is an open-source network monitoring and graphing platform built on RRDtool.
It provides a scalable framework to collect, store, and visualize time-series data from network devices, servers, and applications.
Core capabilities include:
Cacti maintains two primary branches:
| Branch | Purpose |
|---|---|
1.2.x |
Stable long-lived release series |
develop |
Active development toward Cacti 1.3.x |
For the latest published version, see GitHub Releases.
Minimum supported dependencies by branch:
| Dependency | Cacti 1.2.x |
Cacti develop (1.3.x) |
|---|---|---|
| MariaDB | 5.6+ | 10.2.x+ |
| MySQL | 5.6+ | 8.0+ |
| PHP | 8.1+ | 8.1+ |
| RRDtool | 1.4+ | 1.8+ |
| Net-SNMP | 5.5+ | 5.8+ |
Notes:
php-snmp is optional; validate behavior carefully if you depend on IPv6 and SNMPv3.Operating system guidance:
1.2.x: RHEL/Rocky/Alma 8+ (or equivalent) is a common baseline.1.3.x: RHEL/Rocky/Alma 9+ or CentOS Stream 9+ is preferred for modern PHP packaging.Clone the repository:
git clone https://github.com/Cacti/cacti.git
cd cacti
Dependency management:
1.2.x and develop, install dependencies with Composer.composer update only when intentionally refreshing dependency versions.Install dependencies:
composer install
Windows users may need:
composer install --ignore-platform-req=ext-pcntl --ignore-platform-req=ext-posix
Then configure your database and web server, and complete setup using the official docs:
https://github.com/Cacti/documentation
When running from source (especially develop), schema updates may be required after pulling changes.
Upgrade the database schema:
sudo -u cacti php -q cli/upgrade_database.php --forcever=`cat include/cacti_version`
If needed, force a re-upgrade from an earlier version:
php -q cli/upgrade_database.php --forcever=<older_version>
Audit schema consistency:
php cli/audit_database.php --report
Cacti collects data through data sources, which can use:
Polling engines:
| Poller | Description |
|---|---|
| PHP Poller | Built-in polling engine |
| Spine | High-performance C-based poller |
Spine supports SNMPv1/v2 and SNMPv3 with IPv6, with some advanced protocol support depending on how Net-SNMP is compiled on your platform.
Official documentation is maintained in a separate repository:
https://github.com/Cacti/documentation
Contributions are welcome.
You can also help improve docs in:
https://github.com/Cacti/documentation
Community support is available on the Cacti forums:
Cacti is licensed under the GNU General Public License v2.0.
See LICENSE for details.
Copyright © 2004-2026 The Cacti Group, Inc.