Book Image

Cacti Beginner's Guide - Second Edition

Book Image

Cacti Beginner's Guide - Second Edition

Overview of this book

Cacti is a performance measurement tool that provides easy methods and functions for gathering and graphing system data. You can use Cacti to develop a robust event management system that can alert on just about anything you would like it to. But to do that, you need to gain a solid understanding of the basics of Cacti, its plugin architecture, and automation concepts. Cacti Beginner's Guide will introduce you to the wide variety of features of Cacti and will guide you on how to use them for maximum effectiveness. Advanced topics such as the plugin architecture and Cacti automation using the command-line interface will help you build a professional performance measurement system. Designed as a beginner's guide, the book starts off with the basics of installing and using Cacti, and also covers the advanced topics that will show you how to customize and extend the core Cacti functionalities. The book offers essential tutorials for creating advanced graphs and using plugins to create enterprise-class reports to show your customers and colleagues. From data templates to input methods and plugin installation to creating your own customized plugins, this book provides you with a rich selection of step-by-step instructions to reach your goals. It covers all you need to know to implement professional performance measurement techniques with Cacti and ways to fully customize Cacti to fit your needs. You will also learn how to migrate Cacti to new servers. Lastly you will also be introduced to the latest feature of building a scalable remote poller environment. By the end of the book, you will be able to implement and extend Cacti to monitor, display, and report the performance of your network exactly the way you want.
Table of Contents (24 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
15
Online Resources

Upgrading Cacti


Upgrading Cacti involves several steps, one of which is backing up the database. Since you created a symbolic link to the Cacti directory, you don't need to backup any files but instead we copy or move them from the old version over to the new one.

Time for action - upgrading Cacti

  1. Create a backup of the database. The following command will back up the Cacti database to a file called cacti_backup.sql. You will be asked for the MySQL root password:
mysqldump -u root -p --lock-tables --add-drop-table cacti > /root/cacti_backup.sql
  1. Change to the /var/www/html directory. From http://www.cacti.net, download the source for the version you want to upgrade to.
  2. Create the CACTIVERSION variable and set it to the current Cacti version:
export NEWCACTIVERSION=1.1.28
  1. Extract the file. This will create a new directory named cacti-1.1.28:
cd /var/www/htmlwget https://www.cacti.net/downloads/spine/cacti-
    spine-$NEWCACTIVERSION.tar.gz tar -xzvf cacti-spine-$NEWCACTIVERSION.tar.gz 
  1. Change to the newly-created directory and edit include/config.php. Change the database entries in there to match your installation.
  2. Before copying any files, you should stop the poller using the web interface. Go to Configuration | Settings and change to the Poller tab. Disable the poller by unchecking it:
  1. Copy some files from your existing installation to the new one:
cp /var/www/html/cacti/rra/* /var/www/html/cacti-$NEWCACTIVERSION/rra/ 
cp -u /var/www/html/cacti/scripts/* /var/www/html/cacti-$NEWCACTIVERSION/scripts/ 
cp -u -R /var/www/html/cacti/resource/* /var/www/html/cacti-$NEWCACTIVERSION /resource/
  1. Set the permissions on the log and rra folders:
cd /var/www/html/cacti-$NEWCACTIVERSION/ 
chown -R cactiuser.apache /var/www/html/cacti-$NEWCACTIVERSION/ 
chmod -R 775 rra/ log/ resource/ scripts/ cache/ 
setfacl -d -m group:apache:rw /var/www/html/cacti/rra 
setfacl -d -m group:apache:rw /var/www/html/cacti/log
  1. Change the symbolic link to point to the new directory:
cd /var/www/html/ 
ln -fs cacti-$NEWCACTIVERSION cacti
  1. As Cacti 1.x requires the timezone data to be present in the MySQL/MariaDB database, you will have to import it here as well when upgrading from the 0.8.8 version of Cacti:
mysql_tzinfo_to_sql /usr/share/zoneinfo > /tmp/mysql_timezone.sql 
mysql -u root -p mysql < /tmp/mysql_timezone.sql
  1. You will also have to grant access to the timezone tables using the following SQL statement:
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'MyV3ryStr0ngPassword';
  1. The final upgrade process is done using the web interface. Point your browser to http://<yourserver>/cacti/install and follow the steps. Make sure you select Upgrade on the second page.
  2. If you are upgrading from 0.8.8 to 1.x, the upgrade process will take some time to complete depending on your Cacti installation size.
  3. You can now enable the poller again using the Cacti web interface.
  4. Once you have checked that everything is working fine, you can remove or archive the original Cacti directory.

What just happened?

You upgraded Cacti to a newer version. As a safety net, you created a backup of the database so you can revert back to the old version in case of an error. You copied the RRD files and other resources to the new installation and switched over by changing the symbolic link to point to the new location. You finished the upgrade process by going to the install URL, which provides the final web-based upgrade process.