WMITrack - Cacti WMI Tracking Plugin

WMITrack is a plugin for Cacti that provides details on your Windows servers and workstations.

You are presented a table of your devices and can quickly view any devices with errors or low drive space.

Inspiration for this simple plugin has come from the brilliant plugin MacTrack.

Prequesites and Installing

  • Cacti 1.2+
  • Currently only supports setups where the polling service is on a Windows server
  • PHP_COM_DOTNET PHP Extension enabled

Download it from here: WMITrack V1.2.

To install: Just drop the downloaded/unzipped folder into your plugins directory and install/enable like any other plugin.

Setup and Use

A new settings tab labelled 'WMI Tracking' is available (Console -> Configuration -> Settings -> WMI Tracking).

3 Fields require populating:

  • Username - Account that will be used for the WMI Queries
  • Password - Password for the above account
  • Target Host Names - A comma separated list of the devices you want to track.

A new tab is available at the top of Cacti labelled 'WMITrack'.

Clicking this will show you an interactive table with details on your tracked devices.

The table columns can be sorted and filtered by various criterias.

Clicking on a row will display the message of the last System Error as reported in Event Viewer.

Data in the table is updated every 60 seconds - just keep in mind your poller is probably running every 5 minutes.

Some inner working notes that aren't important to know:

When a target is added to the list it is allocated a random number from 0 - 11.

Every Cacti poll initiates the WMITrack tool to query all devices that match the current cycle number.

The cycle number increments by 1 every time it runs, resetting itself to 0 once it is greater than 11.

If your Cacti polling service runs every 5 minutes it should have executed 12 times within an hour.

Having WMITack cycle from 0 - 11 balances it so devices are scanned once an hour.

It could take up to an hour before any results are collected and displayed.

Removed devices are also purged during the polling process.

Plans & Version History

On the plan

  • Setup Cycle - Modify the number of cycles to be able to customise load balancing
  • Support Linux Poller - Make it so the polling script can run on a linux host
  • Email Notifications - Get notified when a tracked device becomes low on disk space or an error occurs
  • Customised Fields - Edit the details you track and set your own notification rules


  • Replaced the rendered table with an interactive table (Using the Tabulator library)
  • Bundled Moment.js for the table columns that can be ordered by date/time
  • Implemented some AJAX. The table is updated every 60 seconds (keep in mind that the poller is usually 5 minutes) - all applied filters and sorts are retained on re-sync.


  • Added tracking for Last System error in Event Viewer
  • Improved the routine for tidying orphaned stored WMI data


Back to home page