cacti Cacti Examples CactiEZ

Cacti Plugins

The advantages of the Cacti are having many plugins that is provided by a wide community of

List of Cacti plugins:

  • Boost: To increase Cacti performance
  • Clogs: To add a view tab to view  Cacti log
  • Discovery: auto discovery to detect the SNMP devices on the network with diferent subnet.
  • Docs: To create a document in Cacti
  • Flowviewer: Viewer to see the flow of data dicapture by netflow on cisco router.
  • Host Info: Displays information about the server Cacti’s version
  • Login Mod: To change the Cacti login page
  • Mac Track: track a MAC Address and Port on the device to enable the SNMP
  • Monitor: monitors the condition of up/down from the monitored device, is also accompanied by sound alerts.
  • Ntop: shows ntop application on Cacti tab
  • Realtime: Displaying graphs in realtime Cacti every 5 seconds.
  • Router Configs: backup display configuration and router
  • Settings: Settings and configure Cacti
  • SSL: SSL access with Cacti
  • Syslog: Displays syslog Cacti database
  • Thold: Showing up down from the host
  • Tools: Tool to check the service HTTP, FTP, POP3 and SMTP
  • Update: Showing all the plugins installed and check for updates

CactiEZ is a self installing Linux Distribution based off CentOS that sets up and configures a customized Cacti install. Everything is designed to be completely automated and working directly out of the box. This compact distro is loaded with extra features such as Syslog and Netflow data collection, Weathermaps, Reports, Auto Discovery, Router Config backup, Nagios, and much more! Both 32 Bit and 64 Bit installations are possible from the same CD.  The CactiEZ ISO or torrent can be downloaded here.

cacti Cacti Examples CactiEZ Linux

Multi-CPU Utilization Graphing in Cacti

The past couple days I’ve been installing and configuring a new version of Cacti (0.8.7c) from a CactiEZ v0.6 installation. I’ve been using Cacti for years now and love what it does, however I’ve found that tweaking it is sometimes problematic.  Since I may go several months or a year or more between tweaking my install I have to rely heavily on the community.  While the Cacti forums are great they often have an overload of information and even out-dated information.

One aspect I’ve tried to get working before in Cacti is multi-CPU graphing, but I’ve never had great success.  Today though I found a great post by Peter at on the subject – along with some other pretty good gems as well, such as extending Cacti by adding a 5-year graph, configuring Cacti to gather disk I/O and using advanced ping.  He had a great, concise set of steps to download the correct templates (which I’ve done before) and get them working correctly (this is where I’ve had trouble).  I’m going to list those steps with a little tweaking of my own mainly so I have them as a ready reference so somewhere down the road I can do this again, but the credit is all his.  Thanks Peter.

This originates from the Cacti forums post “Multi CPU Utilization Graph” which has links to the templates referenced here.  In fact, you may want to go there to find the latest and greatest on this topic.

Begin by downloading the template(s) you need (these links are all from the thread above which were the most current at the time of this post):

Next, import the template(s) in Cacti (Import Templates under Import/Export on the Console tab).  Before creating graphs for devices using any of these new templates they need to be modified a bit, otherwise they may report incorrect data.  To correct this issue click on Graph Management / CDEFs. You should see Average All data sources – X sources (X depending on your setup and the template(s) you imported).  If for some reason you don’t see these listed type average in the search field and click Go.

In turn click on each of the Average All data sources – X sources and perform the following:

  • Delete the current CDEF items, such as, “Item #1 Custom String: a,b,+,2,/”
  • Add the following three items:
    • Item #1 – Special Data Source: ALL_DATA_SOURCES_NODUPS (AKA “All Data Sources (Don’t Include Duplicates))
    • Item #2 – Custom String: 2/4/8 (depending on X above)
    • Item #3 – Operator: /

Each should like something like this:

Now you can create the graphs for each device.  Click Devices / <Host Name> / create graphs for this host.  Under Graph Templates for the selected host click the drop-down box next to create and select “Host MIB – Multi CPU Utilization on X Processor Box” then click Create. On the next screen you will be asked the Index Type, Index Value and Output Type ID – you don’t need to enter any values, just click Create.  You aren’t done yet – one more important step.

Click Graph Management and locate the graph you just created.  Under Supplemental Graph Template Data select the CPUs you wish to graph in your multi-CPU graph. This is most likely HOSTNAME – CPU Utilization – CPU0 (cpu), HOSTNAME – CPU Utilization – CPU1 (cpu) and so on …

Now that that’s done you should have nice multi-CPU graphs.  You could even delete any previously created CPU utilization graphs, but be careful not to delete the data-sources because the multi-cpu-graph needs these sources.  The multi-CPU graphs will even read data from existing sources.

Cacti multi-CPU utilization graph showing device with two CPUs graphed over the past 24 hours and 7 days:

Cacti multi-CPU utilization graph showing device with eight CPUs graphed over the past month and year:

cacti Cacti Examples CactiEZ Linux WGET

Upgrade Cacti on CactiEZ Installation

After installing CactiEZ v0.6 (as a VM on Windows 2008 Hyper-V) which includes Cacti 0.8.7c I wanted to upgrade to the latest version of Cacti (0.8.7e as of this post). However I was not able to locate any good directions. Jimmy Conner who put together CactiEZ said to follow the directions for upgrading Cacti in the Cacti manual, but they weren’t exactly easy to follow. So, after mucking through the upgrade I thought I’d put down my notes.  Here they are.

  • Backup the existing Cacti database (I wasn’t too worried about this as I upgraded a new installation):

mysqldump -l --add-drop-table cacti > mysql.cacti

Note: You will probably have to specify the -u and -p flags for the MySQL username and password. This user must have permission to read from Cacti's database or you will end up with an empty backup.

  • Backup the existing Cacti directory (again, since I have a new installation I wasn’t too worried about this).  The root for Cacti in CactiEZ is /var/www/html so I executed all the following commands from the /var/www directory:

mv html cacti_backup

  • Download the latest Cacti tarball (0.8.7e as of this writing):


  • Extract the Cacti tarball.

tar xzvf cacti-0.8.7e.tar.gz

  • Rename the new Cacti directory to match the old one.

mv cacti-0.8.7e html

  • Edit include/config.php and specify the MySQL user, password and database for your Cacti configuration.

    vi html/include/config.php

    Default CactiEZ include/config.php configuration (vi cacti_backup/include/config.php to view your current config if necessary):

$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “CactiMadeEZ“;

/* Default session name – Session name must contain alpha characters */
$cacti_session_name = “CactiEZ“;

  • Copy the *.rrd files from the old Cacti directory.

cp cacti_backup/rra/* html/rra/

  • Copy any relevant custom scripts from the old Cacti directory. Some script are updated between versions. Therefore, make sure you only over write if the scripts either don’t exist or are newer than the distribution’s.

cp -u cacti_backup/scripts/* html/scripts/

  • Copy any relevant custom resource XML files from the old Cacti directory. Some resource XML files are updated between versions. Therefore, make sure you only over write if the XML files either don’t exist or are newer than the distribution’s.

cp -u -R cacti_backup/resource/* html/resource/

  • Set the appropriate permissions on Cacti’s directories for graph/log generation. You should execute these commands from inside Cacti’s directory to change the permissions.

chown -R cactiuser rra/ log/

(Enter a valid username for cactiuser, this user will also be used in the next step for data gathering.)

  • Finally, point your web browser to:


    Follow the on-screen instructions so your database can be updated to the new version.

Wait, there’s more. . .

Now we need to download and install the Cacti Official Patches [0.8.7e].  You may want to check the previous link for the latest. NOTE: download and execute these from /var/www/html which is the default root directory for Cacti on CactiEZ.

patch -p1 -N < cli_add_graph.patch
patch -p1 -N < snmp_invalid_response.patch
patch -p1 -N < template_duplication.patch
patch -p1 -N < fix_icmp_on_windows_iis_servers.patch
patch -p1 -N < cross_site_fix.patch

NOTE: While this upgrade works fine to upgrade Cacti itself you will have to upgrade other CactiEZ components for them to work properly, such as THold, Monitor, Discover, WeatherMap, MACTrack and the Plugin Architecture.  For now you are on your own for those. . .

See Also

cacti Cacti Examples CactiEZ Linux SSH Ubuntu

Install CactiEZ on Windows 2008 Hyper-V

CactiEZ (Cacti Made Easy) is a self installing Linux Distribution based off CentOS that sets up and configures a customized Cacti install. Everything is designed to be completely automated and working directly out of the box. This compact distro is loaded with extra features such as Syslog and Netflow data collection, Weathermaps, Reports, Auto Discovery, Router Config backup, Nagios, and much more!

This guide provides instructions for installing CactiEZ as a VM on Windows 2008 Hyper-V.

This contains some fairly detailed instructions so someone new to this setup should have enough info to get completely running.  However, since I know some of you out there are in a hurry here’s the Cliff Notes version:
  1. Don’t use the default network adapter – DELETE it!
  2. Add a legacy network adapter.
  3. Install CactiEZ.
Full Instructions for Installing CactiEZ on Windows 2008 Hyper-V
Download the CactiEZ ISO – get this started now so it will be done by the time your’re ready for it.  By default the CactiEZ ISO is a tarred file so you will have to untar (unzip) it before you can use it.  If you don’t already have a Windows-based program that can handle tarred files 7-zip is a great, FREE, utility.  NOTE: in Windows you may have to unzip twice; CactiEZ-v0.6.tar.gz will unzip to CactiEZ-v0.6.tar from which you can extract CactiEZ-v0.6.iso.
Step One: Create the VM on Hyper-V
  • Launch the Windows Hyper-V Manager (Start, All Programs, Administrative Tools, Hyper-V Manager).
  • Select NewVirtual Machine.  Give it a name.  Click Next.
  • Specify memory (RAM).  In this example I’m using 1024 MB.
  • On the “Configure Networking” screen just click Next – we will delete this later anyway.
  • Create a new virtual hard disk using the name, location and size of your choosing.  I created a 10GB virtual HD which should be more than enough for CactiEZ.
  • On the “Installation Options” screen make sure to choose “Install and operating system later.”
  • Click Next, uncheck “Start the virtual machine after it is created” and verify your settings, then click Finish.
    At this point if your VM started you will receive a boot failure message.  Don’t worry, you can safely ignore this and Turn Off the VM.
    Step Two: Customize VM Settings
    • From Hyper-V Manager right-click your new VM, then select Settings.
    • Remove the current Network Adapter.
    • Click Add Hardware and select Legacy Network Adapter, then Add.
    • On the Legacy Network Adapter select the correct adapter from the Network drop-down list
    • Click OK to save settings.
    Step Three: Install CactiEZ
    • Double-click your VM to open the Virtual Machine Connection window.
    • Click Media, DVD Drive, Insert Disk and browse to your (extracted/unzipped) CactiEZ ISO.
    • Start (Power On) the VM & it will begin the CactiEZ server installation.
    • Select whether to install the 32 or 64-bit version and let her rip.  The CactiEZ installation is almost completely automated so just let it run.  When prompted reboot the VM.
    After the system reboots its IP address will be displayed (assuming you have a DHCP server available on the network).  You can certainly change the IP address to a static one if you’d like (instructions below).
    Step Four: Logon to Your CactiEZ Server
    Now that your server is installed logon through the Virtual Machine Connection window.  The default username and password are root, CactiEZ.

    Once logged on the first thing I did was set a static IP address using:


    With the IP address and related settings set appropriately restart the network using:

    service network restart

    You may also want to synchronize your time using:

    ntpdate -u

    And set your timezone with:

    yum install system-config-date

    See more CactiEZ tips and hints here.

    NOTE: By default CactiEZ installs SSH so you can connect remotely with something like PuTTY.
    Step Five: Connect to and Configure Cacti

    Using a browser connect to your new installation of Cacti using http://<IP Address>.  The default user is ‘admin’ and the default password is ‘admin’ as well.  You will be prompted to change the password.

    Now you can knock yourself out configuring and using Cacti.  Here’s more logon information from CactiEZ.

    See also