How to install Cacti with Nginx


Cacti provides an exceptionally easy to use system monitoring solution.  Essential graphs are included by default, such as load average and memory usage.  For additional graphs, download templates from Cacti’s website/forum or create your own.


This tutorial assumes MySQL and Nginx have been installed.

Step 1 – Install SNMPD

Step 2 – Configure SNMPD

Edit  /etc/default/snmpd, find the following line:

Replace it with:

Then add the following line to the ACCESS CONTROL area of  /etc/snmp/snmpd.conf:

Step 3 – Download non-free MIB files

Step 4 – Install Cacti and Spine (Cacti poller)

During the installation of Cacti, you will be asked if you’d like dbconfig-common to setup MySQL for Cacti automatically.  This creates a user and database for Cacti, and then imports the necessary data.  If dbconfig-common is unable to configure the database, or you decline to use it, visit this guide for help setting up MySQL on your own.

Step 5 – Add a symbolic link to Cacti’s web interface

Choose a location to access Cacti from, such as  /cacti or  /stats and create a symbolic link with that name.

  • Line 1: Change directory to the root of our site
  • Line 2: Create a symbolic link to Cacti’s web interface named cacti
  • Line 3: Optional Change owner and group of Cacti’s web interface to www-data

Step 6 – Finish configuration via Cacti’s web interface

Visit your Cacti installation with your browser of choice.  Log in to the default administrator account:

  • Username: admin
  • Password: admin

Click Settings in the menu on the left.  Verify each page of settings are correct, then visit this guide for more information on creating your first graphs.

How to display an Nginx status page using stub_status

This short guide explains how to display Nginx statistics when a certain location is requested, usually at /nginx_status.  For more information see the HttpStubStatusModule wiki page.

Step 1 – Compile Nginx with HttpStupStatusModule

Displaying Nginx’s status requires the HttpStubStatusModule.  This module is not included by default during compilation.  If you installed Nginx from a package, it may have been included.

Pass the following flag during configuration to include HttpStubStatusModule:

Step 2 – Add location to site’s configuration file

Add the following to your site’s configuration file, optionally replacing /nginx_status with a custom location.

  • stub_status on indicates this location has a special function.  Rather than displaying a file or directory, only statistics for Nginx will be shown.
  • access_log off disables logging for this location.

Step 3 – Limit access to the status page

Note that the status page by default will be public.  To keep it private, consider:

  • Using a custom location that is hard to guess
  • Password protecting the page
  • Limiting the page to only your IP address