Setting up Cacti SNMP Monitoring on a Windows 2003 Server

An Example Cacti Graph

So this week I’ve been taking a break from planning our Exchange 2010 migration and have been playing around with Cacti as currently we have very little data on things like network and server usage short of a couple of key websites being monitored by an external site to track uptime, but absolutely nothing to tell us if servers are being overloaded or that our internet connection is being saturated.

For those who haven’t heard of Cacti before, its an open-source PHP based frontend that can be used to graph pretty much any data source you can feed it with the most popular source being SNMP which pretty much any business class network enabled bit of electronics supports these days. Even if you only have quite a small network like ours, it can be very useful to actually visualise whats going on, and its a lot easier to show your boss a graph showing how your internet connection is maxed out and needs replacing/upgrading than any other way!

Rather than re-write an existing guide, the easiest and quickest way to get Cacti running is to follow this guide written by a very helpful Cacti user over on the Cacti Forums. Below are a few additional tips that should help you avoid some of the problems I ran into when setting up Cacti on a Windows 2003 server.

  1. Dont use PHP 5.3, stick with 5.2 as 5.3 doesn’t yet include the SNMP module and so wont work with Cacti.
  2. Do install Cygwin, its only an optional step but for the little extra work needed it will make patching Cacti with updates a lot easier (bug fixes only get released as .patch files so having Cygwin installed allows you to run the patch command just like on linux).
  3. Dont install Apache unless you plan on using it in place of IIS, if you already host sites using IIS then there is no need to install Apache at all.
  4. If you are using IIS make sure you install FastCGI before you install PHP, FastCGI is the recommended way to run PHP as of 5.2, its as simple as running the installer so there is no reason not to use it.
  5. When you reach the IIS instructions, if you are using FastCGI the skip to step 8, dont miss this out as step 8 and onwards talks you through setting the file permissions correctly and Cacti will not work properly without them!
  6. When setting the permissions I had to always use the Advanced > Find option to select the IUSR_ user as it could not be found when typing in the name as normal.
  7. If you are polling other Windows based machines then make sure you increase the SNMP timeout value when adding the device, for some reason Windows takes longer to respond to SNMP queries, setting it to 5000 works fine for me.
  8. By default SNMP isn’t enabled in Windows, see this Knowledgebase Article for how to enable it.
  9. Finally, if once SNMP is enabled on a machine and it still isnt sending any SNMP data despite you being positive that it is setup Ok, try removing the SNMP feature and re-installing it. I’ve had this happen on a couple of Windows 2003 boxes and after reinstalling the SNMP service it has started working.


Im a Sys-Admin for a growing UK company working down on the sunny South Coast of England, I love all things techie, especially Exchange and Virtualisation stuff. When not tinkering I can normally be found playing online games such as Planetside 2, Dayz and Battlefield 4.