This guide will show you how to upgrade Cacti to a newer version.
Assumptions for upgrading Cacti
- Cacti is installed in /var/www/html/cacti
- The “cacti” directory is a sym-link to the current version e.g “/var/www/html/cacti-0.8.8b”
- The Operating System is CentOS/RHEL
Change to the root www directory.
Download the latest Cacti version ( e.g. 0.8.8g )
Extract the file to the current directory
tar -xzvf cacti-0.8.8g.tar.gz
Backup the database
The following command creates a complete backup of the cacti database. Replace the [cactiuser] with your actual cacti database user.
mysqldump -u [cactiuser] -p --lock-tables --add-drop-table cacti > ~/cacti_backup.sql gzip ~/cacti_backup.sql
Change the configuration
Now let’s change the configuration of the new version to match your current cacti settings:
cd cacti-0.8.8g vi include/config.php
/* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "[dbuser]"; $database_password = "[dbpassword]"; $database_port = "3306"; $database_ssl = false; /* Edit this to point to the default URL of your Cacti install ex: if your cacti install as at http://serverip/cacti/ this would be set to /cacti/ */ $url_path = "/cacti/";
Please replace the [dbuser] and [dbpassword] part and make sure to adapth the $url_path to match your settings.
Migrate scripts and data
Let’s assume that your current Cacti installation resides at
and your new files are located at
the execute the following:
'cp' -u -R /var/www/html/cacti/scripts/* /var/www/html/cacti-0.8.8g/scripts/ 'cp' -u -R /var/www/html/cacti/resource/* /var/www/html/cacti-0.8.8g/resource/ 'cp' -R /var/www/html/cacti/plugins/* /var/www/html/cacti-0.8.8g/plugins/
Stop the Poller
Now it’s time to stop the Cacti poller. Go to Console->Settings then hit the “Poller” tab and uncheck the “Enabled” box.
Copy RRD files
Now that the poller is stoped, we can copy the RRD files.
mv /var/www/html/cacti/rra/* /var/www/html/cacti-0.8.8g/rra/
Change the ownership of the files. Make sure to replace [cacti] with the actual name of your cacti system user.
cd /var/www/html/cacti-0.8.8g chown -R [cacti] log/ rra/
Change symbolic link
Now we can change the symbolic link from the old cacti version to the new one.
cd /var/www/html/ rm cacti sudo ln -fs cacti-0.8.8g cacti
The spine poller needs to be updated as well.
cd /tmp wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8g.tar.gz tar -xzvf cacti-spine-0.8.8g.tar.gz cd cacti-spine-0.8.8g ./bootstrap
This should output the following:
INFO: Starting Spine build process INFO: Removing cache directories INFO: Running auto-tools to verify buildability Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL' Putting files in AC_CONFIG_AUX_DIR, `config'. INFO: Spine bootstrap process completed To compile and install Spine do the following: ./configure make make install
Let’s start the compilation process:
./configure make make install
If your spine installation is somewhere else, you can configure the final install location with e.g.
If you have put spine into the same directory as it was installed before, then spine is ready to go. If you changed the destination dir, then you will have to create or modify the spine.cfg file.
Start the Web-Based Cacti Upgrade
Now go to your Cacti installtion ( http:///cacti ). You will be presented with a step-by-step wizard that will guide you through the update process.
Verify Cacti Version
Login to your Cacti instance and check the version displayed at the top right of the console screen.
Re-Enable the Poller and Rebuild the Poller Cache
The last step is to re-enable the poller. The Poller Cache also needs to be rebuild.
Need Commercial Support ?
Urban-Software.de offer commercial Cacti support not only for Cacti itself, but also for several of the plugins ( e.g. Thold ).
There’s going to be an on-demand solution in the future. You can contact us for more details using the contact form.