Cacti is a complete network graphing solution designed to harness the power of RRDtool’s data storage and graphing functionality providing the following features:
All of this is wrapped in an intuitive, easy to use interface that makes sense for both LAN-sized installations and complex networks with thousands of devices.
Developed in the early 2000s by Ian Berry as a high school project, it has been used by thousands of companies and enthusiasts to monitor and manage their Enterprise Networks and Data Centers.
When using source or by downloading the code directly from the repository, it is important to run the database upgrade script if you experience any errors referring to missing tables or columns in the database.
Changes to the database are committed to the cacti.sql
file which is used for new installations and committed to the installer database upgrade for existing installations.
Because the version number does not change until release in the develop
branch, which will result in the database upgrade not running, it is important to either use the database upgrade script to force the current version or update the version in the database.
Also Read – DFIRTriage : Digital Forensic Acquisition Tool For Windows Based Incident Response
Running Database Upgrade Script
sudo -u cacti php -q cli/upgrade_database.php –forcever=`cat include/cacti_version`
Updating Cacti Version in Database
update version set cacti = ‘1.1.38’;
Note: Change the above version to the correct version or risk the installer upgrading from a previous version.
Requirements
Cacti should be able to run on any Linux, UNIX, or Windows based operating system with the following requirements:
PHP Must also be compiled as a standalone cgi or cli binary. This is required for data gathering via cron.
We mark the php-snmp module as optional. So long as you are not using ipv6 devices, or using snmpv3 engine IDs or contexts, then using php-snmp should be safe. Otherwise, you should consider uninstalling the php-snmp module as it will create problems. We are aware of the problem with php-snmp and looking to get involved in the php project to resolve these issues.
RRDtool is available in multiple versions and a majority of them are supported by Cacti. Please remember to confirm your Cacti settings for the RRDtool version if you having problem rendering graphs.
Documentation is available with the Cacti releases and also available for viewing on the Documentation Repository.
Check out the main Cacti web site for downloads, change logs, release notes and more!
Given the large scope of Cacti, the forums tend to generate a respectable amount of traffic. Doing your part in answering basic questions goes a long way since we cannot be everywhere at once. Contribute to the Cacti community by participating on the Cacti Community Forums.
Get involved in creating and editing Cacti Documentation! Fork, change and submit a pull request to help improve the documentation on GitHub.
Cacti handles the gathering of data through the concept of data sources. Data sources utilize input methods to gather data from devices, hosts, databases, scripts, etc… The possibilities are endless as to the nature of the data you are able to collect. Data sources are the direct link to the underlying RRD files; how data is stored within RRD files and how data is retrieved from RRD files.
Graphs, the heart and soul of Cacti, are created by RRDtool using the defined data sources definition.
Bringing it all together, Cacti uses and extensive template system that allows for the creation and consumption of portable templates. Graph, data source, and RRA templates allow for the easy creation of graphs and data sources out of the box. Along with the Cacti community support, templates have become the standard way to support graphing any number of devices in use in today computing and networking environments.
Local and remote data collection support with the ability to set collection intervals. Check out Data Source Profile with in Cacti for more information. Data Source Profiles can be applied to graphs at creation time or at the data template level.
Remote data collection has been made easy through replication of resources to remote data collectors. Even when connectivity to the main Cacti installation is lost from remote data collector, it will store collected data until connectivity is restored. Remote data collection only requires MySQL and HTTP/HTTPS access back to the main Cacti installation location.
Network Discovery and Automation
Cacti provides administrators a series of network automation functionality in order to reduce the time and effort it takes to setup and manage devices.
Cacti is more than a network monitoring system, it is an operations framework that allows the extension and augmentation of Cacti functionality. The Cacti Group continues to maintain an assortment of plugins. If you are looking to add features to Cacti, there is quite a bit of reference material to choose from on GitHub.
Dynamic Graph Viewing Experience
Cacti allows for many runtime augmentations while viewing graphs:
Support for per user and per group permissions at a per realm (area of Cacti), per graph, per graph tree, per device, etc… The permission model in Cacti is role based access control (RBAC) to allow for flexible assignment of permissions. Support for enforcement of password complexity, password age and changing of expired passwords.
Cacti supports most RRDtool graphing abilities including:
shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…
Extract and execute a PE embedded within a PNG file using an LNK file. The…
Embark on the journey of becoming a certified Red Team professional with our definitive guide.…
This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…
This took me like 4 days (+2 days for an update), but I got it…
MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…