Hello and welcome to our today's article on another open source Network monitoring tool that is Cacti. Cacti is a complete network graphing solution designed with RRDTool’s data storage and graphing functionality. It can graph network bandwidths with SNMP, shell or perl scripts. RRDtool is a program developed by the Swiss Tobi Oeticker who was already the creator of the famous MRTG. RRDtool is developed using the "C" programming language and it stores the collected data on ".rrd" files. The number of records in a ".rrd" file never increases, meaning that old records are frequently removed. This implies that one obtains precise figures for recently logged data, whereas figures based on very old data are mean value approximations. By default, you can have daily, weekly, monthy and yearly graphs.
Some of the primary features of Cacti are the following:
- unlimited graph items
- flexible data sources
- custom data-gathering scripts
- built-in SNMP support
- graph templates
- data source templates
- host templates
- user-based management and security
- tree, list, and preview views of graph data
- auto-padding support for graphs
- graph data manipulation
Using Cacti you can easily monitor the performance of your computers, networks, servers, router, switch, services (apache, mysql, dns, harddisk, mail server), SANs, applications, weather measurements, etc. Cacti's installation is very simple and you don't need to be expert to complete its setup. You can also add plugins to the Cacti for enabling the possibility to integrate other free tools like ntop or php weathermap.
The basic requirement for Cacti is that you must have LAMP stack setup on your server, before getting started with the installation of Cacti. Login to your Ubuntu server and run below command to update your Ubuntu server.
# apt-get update
# apt-get upgrade
Before installing the LAMP packages, please do note that Cacti do not support MySQL-Server-5.7 as yet. So, we will be using the 'MySQL-Server-5.6' by adding it repository and then update the system with below commands.
# add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
# apt-get update
Now install the following packages for Cacti setup on your Ubuntu server with the help of given below command.
# apt-get install apache2 mysql-server-5.6 php libapache2-mod-php
Press 'Y' to continue installation on LAMP package including its additional required packages as shown.
During the installation process, you will be asked to configure the root password of MySQL server. Press 'OK' after setting up the password and then repeat the same upon next prompt.
2) Install SNMP, SNMPD and RRDtools:
We need to install few other packages that are necessary for fully functional Cacti setup and to monitor the 'localhost' where cacti is installed you need to install and configure the service 'snmpd'.
Run the below command to install these packages on your Ubuntu 16.04 server and press 'Y' key to continue.
# apt-get install snmp snmpd rrdtool
3) Install Cacti on Ubuntu 16.04:
Now we can start Cacti installation as we have completed all of its required dependencies. Issue the below command to start installing Cacti packages and press 'Y' to continue.
# apt-get install cacti cacti-spine
4) Configuring Cacti:
During the installation process you will be prompted to configure Cacti with few options to select from available options. First of all Choose the web server that you wish to use for configure with Cacti like we are using Apache and then press 'OK' key to continue.
Next is to setup the database that is going to be used for Cacti . Point to the 'No' option if you have already configured databases or click on the 'Yes' to setup database using dbconfig-common for Cacti as shown.
Provide the database password for Cacti application to be used with database server.
Select the MySQL server connection type from the available options, for the best performance we will be choosing the default UNIX socket as shown.
Then you will be asked to create a new mysql database user for Cacti to be used to connect with the database server.
That's it, cacti installation and configuration setup is complete. Now make sure that all required services are active and running.
# service snmpd restart
# service mysql restart
# service apache2 restart
5) Cacti Web Installation Setup:
Open the following url to start Cacti web configuration and click on Next to continue after reading cacti installation guide.
Select the type of installation as 'New Installation' and click on the NEXT button.
Now check below and make sure all of these values are correct before continuing. If everything looks OK and there is no error in your installation, then hit Finish.
Then you need to enter 'admin' username and its password where as admin is default username and password for cacti as shown below.
Modify the default password after first login and set some different password.
Welcome To Cacti Home Page:
After resetting cacti user password, you will be automatically directed towards its home page. That just looks like below.
Now add new devices, or create new graphs. To view graphs of your localhost system, click on the graphs button and you will see multiple graphs of your local host server showing your system memory usage and load average etc.
In this article you learn about the installation and configuration setup of Cacti on Ubuntu 16.04. Now you are able to use it in your own environment to get graph data for the CPU and network bandwidth utilization. You can also use it to monitor the network traffic by polling a router or switch via snmp. Hope you have enjoyed alot, so do not forget to share your thoughts, Thank you.