Book Image

Cacti 0.8 Beginner's Guide

By : Thomas Urban
Book Image

Cacti 0.8 Beginner's Guide

By: Thomas Urban

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 0.8 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 like 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. 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 (23 chapters)
Cacti 0.8Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Pop Quiz Answers
Index

Time for action – creating the database


To keep it simple let's assume that you're going to host the database on the same server as Cacti.

  1. Execute the following command to logon to the MySQL CLI:

    mysql –u root mysql
    
  2. The default MySQL root account does not have a password set, so you can set one as follows:

    SET PASSWORD FOR root@localhost = PASSWORD('MyN3wpassw0rd');
    
  3. You can now also remove the example database, as it is not needed:

    DROP DATABASE test;
    
  4. Together with the example database, some example users may have been created. You can remove these with the following command:

    DELETE FROM user WHERE NOT (host = "localhost" AND user = "mydbadmin");
    
  5. On a CentOS distribution you can use the following command to guide you through the above steps:

    /usr/bin/mysql_secure_installation
    
  6. Now that MySQL is secured, let's create the Cacti database. Enter the following command:

    mysqladmin -u root -p create cacti
    

    This will ask for the MySQL root password which you provided in Setup Step 1. When finished, you will have an empty database called cacti .

  7. As the database is still empty, you need to create the tables and fill it with the initial data that comes with Cacti. The following command will do just that:

    mysql -p cacti < /var/www/html/cacti/cacti.sql
    
  8. Again it will ask for the MySQL root password. Once the command finishes you'll have a working Cacti database. Unfortunately Cacti is still unable to access it, therefore you are now going to create a database user for Cacti.

  9. Enter the following command:

    mysql -u root -p mysql
    
  10. You'll see the following on the screen:

  11. Type the next few lines in the MySQL prompt to create the user. Make sure to choose a strong password:

    GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'MyV3ryStr0ngPassword'; flush privileges; exit
    

What just happened?

You used some tools to secure the MySQL server and created a database. You also filled the Cacti database with the initial data and created a MySQL user for Cacti. However, Cacti still needs to know how to access the database, so let's move on to the next step.

In case you are not using CentOS to install Cacti, you can use some MySQL internal functions to secure your installation.

Configuring Cacti

You need to tell Cacti where to find the database and which credentials it should use to access it. This is done by editing the config.php file in the include directory.