Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Cacti Beginner's Guide
Cacti Beginner's Guide

Cacti Beginner's Guide: Leverage Cacti to design a robust network operations center , Second Edition

eBook
€20.98 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Cacti Beginner's Guide

Installing Cacti

So, you have decided to install the Cacti tool. Throughout this book you will learn how to use Cacti and learn new things about it. This book will build up your knowledge, from chapter to chapter, as you complete the tasks. As you go through the book, you will see different information boxes and tips, and I encourage you to read through them as they provide valuable information. At the end of each chapter you will see a summary of what has been covered in the chapter and what you will learn in the chapter to follow.

Let's get on with setting up Cacti 1.x. Take a look at what we will do next. In this chapter we are going to cover:

  • Installing the prerequisites for Cacti on a CentOS 7 system
  • Installing Cacti on a CentOS 7 system and Windows 2012 R2 system
  • Compiling and installing the Spine poller
  • Upgrading an existing Cacti installation
  • Running Cacti for the first time
  • A quick overview of the Cacti web frontend

Here we go...

Preparing the system - basic prerequisites

In order to install and run Cacti, we need to make sure that all system prerequisites are met. Here we'll give an overview of the different components needed.

Web server

As most of Cacti is built as a web interface, a web server is needed. This can be Apache's HTTPD or Microsoft Internet Information Server if installing on Windows, but, in fact, any PHP-capable web server can be used to run the web interface. For optimal support, the use of Apache or IIS is suggested.

PHP

Cacti has been built with the PHP programming language, and therefore needs PHP to be installed on the system. Most Linux distributions already have a base PHP environment installed but some might need additional packages for Cacti to function properly. In particular, the LDAP, SNMP, and MySQL extensions should be installed. Be aware that Cacti 1.1 does not support PHP 7.1.

MySQL database

Cacti uses the freely available MySQL and MariaDB database engines for its database server and they are available for most operating systems. One should note that the database server does not need to be installed on the same host as Cacti. For best performance and to avoid stability issues with the Spine poller, MySQL version 5.6 or MariaDB 10.x should be used.

NET-SNMP package

The NET-SNMP package provides the SNMP binaries used by Cacti and supports SNMPv1, SNMPv2c, and SNMPv3. The NET-SNMP package also provides the SNMP daemon for Linux.

Installing Cacti on a CentOS 7 system

You're now going to install Cacti from source on a CentOS 7 system. You'll use CentOS 7 as it's 100% binary compatible with Red Hat Enterprise Linux 7, but in fact you can follow most of the installation process on other Linux distributions like Ubuntu or SUSE Linux as well. By installing from source you'll get some insight into the inner workings of Cacti, and it will also provide you with a system that most Cacti and plugin developers are used to. There are differences between a source installation and a yum/apt installation, but they will be described later on. Let's get started.

Preparing the system

Assume that the CentOS system has been installed with only the "Server" package selected and there is no graphical user interface installed.

This is the default installation for a CentOS system with no manual package selection.

Time for action - installing the missing packages and preparing the system

The default CentOS installation is missing several important packages. This section will show you how to install all required packages on your CentOS 7 system as well as the latest MariaDB 10.x version:

  1. Set up the MariaDB repository for installing the latest MariaDB version. You can get the latest repository from https://downloads.mariadb.org/mariadb/repositories/:
echo "# MariaDB 10.1 CentOS repository list - created 2017-02-08 16:11 UTC 
# http://downloads.mariadb.org/mariadb/repositories/ 
[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.1/centos7-amd64 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1" > /etc/yum.repos.d/MariaDB.repo 
  1. Now we can install all required packages for Cacti:
yum -y install mariadb-server php php-cli php-mysql net-snmp-utils rrdtool  
php-snmp gcc mariadb-devel net-snmp-devel autoconf automake libtool dos2unix wget help2man  
php-posix php-ldap php-mbstring php-gd 
  1. At this point you should also take care of updating your packages to the latest version. The following command will do this for you:
yum -y upgrade 
  1. The next step will start the required MySQL/MariaDB server:
systemctl restart mariadb.service 
  1. Cacti 1.x requires the timezone tables within MySQL to be populated. The following commands allow you to do so:
mysql_tzinfo_to_sql /usr/share/zoneinfo > /tmp/mysql_timezone.sql 
mysql -u root mysql < /tmp/mysql_timezone.sql 
  1. The timezone settings for Cacti are very important, so you will need to set your current timezone. The following command will help you to do so:
timedatectl set-timezone Europe/Berlin 
  1. Now that you have set your timezone, installed the MySQL/MariaDB server, and upgraded your system, you will have to set some special configuration parameters for MySQL/MariaDB. Edit the/etc/my.cnf file:
vi /etc/my.cnf 
  1. Change your [mysqld] section. Make sure to change the time zone setting to your actual timezone:
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
symbolic-links=0 
max_heap_table_size=90M 
max_allowed_packet=16M 
tmp_table_size=64M 
join_buffer_size=64M 
innodb_file_per_table=ON 
innodb_buffer_pool_size=450M 
innodb_doublewrite=OFF 
innodb_additional_mem_pool_size=80M 
innodb_lock_wait_timeout=50 
innodb_flush_log_at_trx_commit=2 
collation_server=utf8_general_ci 
character_set_client=utf8 
default-time-zone='Europe/Berlin' 
innodb_flush_log_at_timeout=3 
innodb_read_io_threads=32 
innodb_write_io_threads=16 
  1. As you have already learned, the timezone setting is very important in Cacti. You already changed it for the database server and your system, but PHP also needs to be aware of your timezone. Therefore, you will now edit the /etc/php.ini file. While doing so you will also enable error logging for the syslog system, which will help you find issues with custom plugins. Now edit the /etc/php.ini file and set the following lines:
; Log errors to syslog (Event Log on NT, not valid in Windows 95). 
error_log = syslog 
... 
[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = Europe/Berlin 
  1. The next step will enable the web server as well as restart the required MySQL/MariaDB server. Use the following commands to start these:
systemctl start httpd.service 
systemctl restart mariadb.service 
  1. Now that the web server is up and running, you should enable the http/https ports on the CentOS firewall. The firewall-cmd command will help you with this task:
firewall-cmd --permanent --zone=public --add-service=https 
firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --reload 
  1. As you want to have both services started automatically after a reboot of the system, you should also enable both services during boot time. This final step will allow you to do so:
systemctl enable httpd.service 
systemctl enable mariadb.service 
  1. As a final step you should set the SELinux system to permissive. On a CentOS/RHEL system this can be done by editing the file /etc/selinux/config and setting the SELINUX variable to permissive, which will become active after the next restart:
SELINUX=permissive
  1. Before continuing it is now a good time to restart the system.

What just happened?

You just gave the system a location to find the remaining packages needed for the Cacti installation and then installed them. You also enabled the web server and database server to start at boot time. In addition, you have also set some very important system settings and disabled the SELinux setting. You are now ready to start the next installation phase.

Downloading and extracting Cacti

Go to http://www.cacti.net and download the latest version of Cacti. In the top-left corner, under Downloads, click on the Cacti link. You can download the Cacti files from there. Please also make a note of the latest stable version. You will need this information in the following steps. For simplicity, we're assuming that your server has an internet connection.

Cacti version variable CACTIVERSION: 

As the Cacti version may be different, we will use the CACTIVERSION or NEWCACTIVERSION variables during the different installation and upgrade steps to refer to the Cacti version. Check the current version on the Cacti website and change these variables accordingly.

Time for action - downloading Cacti

It's now time to download the latest Cacti version to your server. You will need your system username and password to login to your CentOS installation. If you have installed your CentOS system with the default settings, you should already have an SSH server running. If you're already logged in on the machine, you can ignore the first step:

  1. From a Windows machine, log on to your system using an SSH client such as Putty. If this is the first time you are connecting to the server, Putty will display a security alert and ask you to accept the RSA key. After doing so, Putty will display a logon prompt where you can log on to the system.
  2. Maximizing the window so long text lines do not break at the end of the line might make things easier.
  3. You'll need to become the root user in order to be able to set up Cacti properly. Should that not be an option, performing these steps with sudo should achieve the same results.
  4. Change to /var/www/html. This is the document root for Apache.
  5. Create the CACTIVERSION variable and set it to the current Cacti version
export CACTIVERSION=1.1.28 
  1. To download Cacti, you can use the wget command. Enter the following command to download Cacti:
wget https://www.cacti.net/downloads/cacti-$CACTIVERSION.tar.gz  
  1. You should see the following output on your screen:
  1. You now have the tar.gz file on your system, so let's move on and extract it. The following command will extract the files and directories contained in the archive to the current directory:
tar -xzvf cacti-$CACTIVERSION.tar.gz 
  1. Finally, you are going to create a symbolic link to this new Cacti directory. This will allow you to easily switch between different Cacti versions later, for example, when upgrading Cacti. To create a symbolic link, enter the following command to create a link named cacti which points to the cacti-1.1.28 directory:
ln -s cacti-$CACTIVERSION cacti 

What just happened?

You downloaded the latest Cacti version to the root directory of the web server and created a symbolic link to the extracted directory. With the Cacti files in place, you are now ready for the next phase of the installation process.

Creating the database

The database isn't automatically created during the installation of Cacti. Therefore, you are now going to create it here. At the same time, a database user for Cacti should be created to allow it to access the database. It's also a good idea to secure the MySQL database server by using one of the included CentOS tools or the commands provided.

Time for action - creating the database

For simplicity, let's assume that you're going to host the database on the same server as Cacti:

  1. Execute the following command to log on to the MySQL/MariaDB CLI:
mysql -u root mysql 
  1. The default MySQL root account does not have a password set, so you can do it now:
SET PASSWORD FOR root@localhost = PASSWORD('MyN3wpassw0rd'); 
  1. You can remove the example database, as it is not needed:
DROP DATABASE test; 
  1. 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 = "root"); 
  1. On a CentOS distribution you can use the following command to guide you through the preceding steps:
/usr/bin/mysql_secure_installation   
  1. Now that MySQL is secured, let's create the Cacti database. Enter the following command. This will ask for the MySQL root password which you provided in setup step 1 or step 5. When finished, you'll have an empty database called cacti:
mysqladmin -u root -p create cacti 
  1. As the database is still empty, you need to create the tables and fill them with the initial data that comes with Cacti. The following command will do just that. Once the command finishes you'll have a working cacti database:
mysql -u root -p cacti < /var/www/html/cacti/cacti.sql 
  1. Unfortunately, Cacti is still unable to access it, therefore you're now going to create a database user for Cacti. Enter the following command:
mysql -u root -p mysql 
  1. You'll see the following on the screen:
  1. Type the next few lines in the MySQL prompt to create the Cacti user and allow him to use the time_zone_name table of MySQL. Make sure to choose a strong password:
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'MyV3ryStr0ngPassword'; 
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 Cacti 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.

If 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.

Time for action - configuring Cacti

The database and some other special configuration tasks are done by editing the information in the config.php file:

  1. Change to the cacti directory:
cd /var/www/html/cacti/include 
  1. Edit config.php with vi:
vi config.php 
  1. Change the $database_username and $database_password fields to the previously created username and password. The content of the file should now look like the following:

There are many other settings within this file that we will explain in later chapters, so leave them alone for now.

What just happened?

You changed the database configuration for Cacti to the username and password that you created earlier. These settings will tell Cacti where to find the database and what credentials it needs to use to connect to it.

Creating the poller cron entry and Cacti's system user

For the poller to work correctly, Cacti also requires a system user account. You are going to create one now and also set up the poller's cron entry. We are going for a one-minute-based poller interval to prepare for the one-minute polling in a later chapter.

Time for action - creating the poller's cron entry and Cacti's system account

Let's create the cron entry so the poller runs frequently:

  1. To create a user called cactiuser, issue the following command as root. It will also add the user to the apache group:
adduser --groups apache cactiuser 
  1. Change to the cacti directory:
cd /var/www/html/cacti 
  1. Change the ownership of the cacti directory, the newly created user, and apache. You will also change the permissions of some special directories as well as enable the apache user group to write to the rra and log directory. The setfacl command is important for some internal Cacti processes to work properly and makes sure that the apache user is able to write to these directories:
chown -R cactiuser.apache /var/www/html/cacti/ 
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. Add the poller cron entry. Edit the cacti file in /etc/cron.d:
vi /etc/cron.d/cacti 
  1. Add the following line to the file:
*/1 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&amp;1 
  1. Save the file.

What just happened?

You just created a system user that runs the Cacti poller, and scheduled the poller to run every one-minute. Cacti, by default, is still configured for a five-minute-based polling interval, but it can be changed to one minute if needed. The poller itself can run at different intervals. You are going to configure a one minute polling interval in a later chapter.

Installing the Spine poller

By default, Cacti comes with a poller written in PHP. For small to medium installations this poller does its job just fine, but for large installations an alternative poller needs to be used, and Spine is it. It's written in C and is much faster than the original poller because it uses the multi-tasking capabilities of modern operating systems and hardware.

Time for action - installing Spine

Here we will take a deep dive into installing and configuring the Spine poller:

  1. As with the Cacti main files, go to http://www.cacti.net and click on Spine under the Download section. Make a note of the latest stable version.
  2. If not already done, create the CACTIVERSION variable and set it to the current Cacti version:
    export CACTIVERSION=1.1.28
  
  1. Change directories to /tmp/ and issue the following command:
    cd /tmp
    wget https://www.cacti.net/downloads/spine/cacti-spine-$CACTIVERSION.tar.gz
  
  1. Extract the file:
    tar -xzvf cacti-spine-$CACTIVERSION.tar.gz
  
  1. Change to the newly created directory:
    cd cacti-spine-$CACTIVERSION
  
  1. Prepare the directory for compilation. Please note that this step may not work on other distributions, and additional steps may be needed:
    ./bootstrap
  
  1. Configure the compiling environment:
    ./configure  
  
  1. Compile Spine:
    make
  
  1. Once the make command finishes, install Spine:
    make install
  
  1. Now change the owner of the spine binary to root and set the sticky bit so you can use ICMP pings:
    chown root:root /usr/local/spine/bin/spine
    chmod +s /usr/local/spine/bin/spine
  
  1. You now have Spine installed, but it needs to be configured. Therefore, copy the sample configuration file to a location where Spine will find it:
    cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
  
  1. Edit the file in vi:
    vi /etc/spine.conf
  
  1. Change the database configuration to match the settings from earlier:
  1. Create a symbolic link in /sbin to the spine binary:
    ln -s /usr/local/spine/bin/spine /sbin/spine
  

What just happened?

You just set up a basic development environment for compiling Spine, compiled it, and then installed it. You also configured Spine to use the correct database information.

Compiling Spine on other Linux distributions: 

When compiling Spine on other Linux distributions, such as Ubuntu, you will have to go through some additional steps. For more information, refer to http://docs.cacti.net/manual:100:1_installation.1_install_unix.6_install_and_configure_spine.

Differences between source and APT/yum installations

The main difference between installing Cacti from source and using apt/yum-based installations is the location of the configuration files and availability of patches. Cacti, by default, does not follow the Filesystem Hierarchy Standard (FHS) defined for Linux operating systems. The FHS defines directories where applications should add their configuration or log files. The apt/yum-based installations usually follow this standard. Due to this, add-ons such as the plugin architecture may not be available on all platforms using apt/yum.

The main advantage of using apt/yum based installations is the ease of installation, but as we've just seen, installing Cacti isn't very difficult.

However, the disadvantage of using apt or yum is the availability of newer Cacti versions. Source-based Cacti installations can be upgraded to the latest version as soon as they are available on the Cacti website, while apt/yum-based installs might need to wait until the package maintainers update their repositories.

Have a go hero - remote server for database hosting

Here is a little challenge for you. It's not difficult, but it will allow you to alter the installation to suit your needs. What if you want to use a remote database server? Maybe you want to use an existing, dedicated MySQL server instead of hosting the database on the same system as Cacti, or you want to separate the roles to allow more growth. Can you figure out what to change?

Solution: Create the MySQL database on the remote system using the same command as if installed locally but this time use the -h <hostname> option to specify the remote server. When creating the user and granting it permissions, use the following command, assuming the Cacti server has the IP, 192.168.0.10:

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

This will allow the Cacti user access to the database from the Cacti server. Now change $database_hostname in config.php and DB_Host in spine.conf on the Cacti server to point to your remote database server. On the database server, you will also have to allow traffic to the 3306 database port using the following firewall commands:

    firewall-cmd --permanent --zone=public --add-port=3306/tcp
    firewall-cmd --reload
  

Installing Cacti on a Windows system

The installation of Cacti on a Windows system is quite different from Linux. Most of the prerequisites that are already available on a Linux platform need to be installed on a Windows system. The MySQL database is an example of such a prerequisite. Here you can find more information about the Windows installation and how you can overcome most of the manual installation procedures by making use of the community-built Windows installer.

The community-built Windows installer

Instead of installing every prerequisite by hand, the community-built Windows installer provides a convenient way of installing them together with Cacti. It was built by a long-term Cacti user and forum member BSOD2600. The installer contains all the software and is also compatible with running Cacti on an IIS web server.

For Cacti 1.x, there will not always be an up-to-date Windows installer available. Nevertheless, the main goal of the installer is to provide you with a convenient way of installing all required software with a single installer. Afterwards, you can download the latest Cacti version from the Cacti website and manually update.

Time for action - starting the Windows setup

Let's have a closer look at installing Cacti on a Windows system:

  1. Download the Windows installer to the system on which you want to install Cacti. To retrieve the latest version, go to http://forums.cacti.net/viewtopic.php?t=14946 and click the download link at the end of the first post. Save the installer to your desktop.
  1. Double-click on the setup file. The installer will check what has already been installed and give you a report. Click Next > after you have read the information:
  1. The next screen shows the GPL license. Accept it and click Next >:
  1. Then you must select a web server. If you have IIS installed you can select it here, otherwise Apache will be installed:
  1. In the next step you can choose the components to install. Select all available options. The Plugins section is empty as most plugins have been added to Cacti 1.x. Now click Next >:
  1. Keep the defaults for the installation locations and click Next >:
  1. The final step provides an overview of the paths to be created. Click Install to start the installation process:
  1. Please note the default Cacti admin and MySQL root passwords.
  2. Open the Post-Install instructions and follow the tasks.

What just happened?

You installed Cacti on Windows, along with all the prerequisites.

Installing the Spine poller under Windows

Unlike Linux, where compilation from source is the preferred method, the community-based installer already comes with pre-compiled binaries for Windows. This greatly eases the installation part of Cacti on a Windows system, so you can concentrate on the actual configuration of Cacti.

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/html
    wget 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.

Left arrow icon Right arrow icon

Key benefits

  • A complete Cacti book that focuses on the basics as well as the advanced concepts you need to know for implementing a Network Operations Center
  • A step-by-step Beginner's Guide with detailed instructions on how to create and implement custom plugins
  • Written by Thomas Urban – creator of the “Cereus” and “NMID” plugins for Cacti known as Phalek in the Cacti forum

Description

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.

Who is this book for?

If you are a network operator and want to use Cacti for implementing performance measurement for trending, troubleshooting, and reporting purposes, then this book is for you. You only need to know the basics of network management and SNMP.

What you will learn

  • Setting up Cacti on Linux and Windows systems
  • Extending the core functionality by using the plugin architecture
  • Building your own custom plugins
  • Creating your own custom data input method to retrieve data from your systems
  • Using SNMP, SSH, and WMI to retrieve remote performance data
  • Designing and create enterprise-class reports with the reporting plugins
  • Implementing threshold-based alerting using the Thold plugin
  • Automating common administrative tasks utilizing the command-line interface and the automate functionality
  • Migrating Cacti to new servers
  • Building a multi remote-poller environment
Estimated delivery fee Deliver to France

Premium delivery 7 - 10 business days

€10.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 27, 2017
Length: 420 pages
Edition : 2nd
Language : English
ISBN-13 : 9781788299183
Concepts :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Estimated delivery fee Deliver to France

Premium delivery 7 - 10 business days

€10.95
(Includes tracking information)

Product Details

Publication date : Dec 27, 2017
Length: 420 pages
Edition : 2nd
Language : English
ISBN-13 : 9781788299183
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 226.97
Linux: Powerful Server Administration
€94.99
Wireshark Revealed: Essential Skills for IT Professionals
€94.99
Cacti Beginner's Guide
€36.99
Total 226.97 Stars icon

Table of Contents

17 Chapters
Installing Cacti Chevron down icon Chevron up icon
Using Graphs to Monitor Networks and Devices Chevron down icon Chevron up icon
Creating and Using Templates Chevron down icon Chevron up icon
User Management Chevron down icon Chevron up icon
Data Management Chevron down icon Chevron up icon
Cacti Maintenance Chevron down icon Chevron up icon
Network and Server Monitoring Chevron down icon Chevron up icon
Plugin Architecture Chevron down icon Chevron up icon
Plugins Chevron down icon Chevron up icon
Threshold Monitoring with Thold Chevron down icon Chevron up icon
Enterprise Reporting Chevron down icon Chevron up icon
Cacti Automation for NOC Chevron down icon Chevron up icon
Migrating Cacti to a New Server Chevron down icon Chevron up icon
Multiple Poller with Cacti Chevron down icon Chevron up icon
Online Resources Chevron down icon Chevron up icon
Further Information Chevron down icon Chevron up icon
Pop Quiz Answers Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5
(2 Ratings)
5 star 50%
4 star 0%
3 star 0%
2 star 50%
1 star 0%
Eric W. Holzapfel Apr 11, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
very informative BUT never explained how to use the high collection rate
Amazon Verified review Amazon
Mancho Sancha May 21, 2018
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
Covers the basics of Cacti post v. 1, but doesn't include coverage of the latest UI, so the screenshots in this book won't match what you see if you download a current version of Cacti.You still need this book I feel if you are using any version of Cacti later that .8x No fault of this author I figure, but Cacti remains really pretty hard to do useful things with beyond using the templates you can find on line--and many of the templates now don't work with version > 1.0.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela