Archived community.zenoss.org | full text search
Skip navigation
Currently Being Moderated

Windows SNMP Performance Monitor (Simple)

VERSION 34  Click to view document history
Created on: Oct 2, 2009 2:12 PM by Ryan Matte - Last Modified:  Oct 17, 2012 12:44 PM by Ryan Matte
Sponsor

Development of this ZenPack is sponsored by: Nova Networks

 

Submitted by:

Ryan Matte, Kevin Brebanov


*** NOTICE ***
If you are upgrading from an older version of the pack I recommend removing it and then reinstalling it as I've made significant changes to the template which don't appear to merge well when upgrading.  I also changed the name of this ZenPack from ZenPacks.Nova.Windows.SNMPPerfMonitor.Simple to ZenPacks.Nova.Windows.SNMPPerfMonitorSimple due to a namespace conflict with the advanced version of the pack (when both are installed together).
Description:
This is a simplified version of the Windows SNMP Performance Monitor (Advanced) ZenPack.  It displays the total CPU usage on a Windows server, whereas the Advanced version displays total CPU usage as well as the CPU usage of each individual core.

This ZenPack allows you to monitor performance data (CPU and Memory) of Windows hosts running the standard SNMP Service without needing snmp-informant installed. This ZenPack is still under development but is functional.

 

The ZenPack provides a template SNMPDevice, available under /Server/Windows.  There are thresholds available for CPU and Memory, but these can be disabled if desired.

 

After installing the ZenPack:

 

Navigate to /Events/Perf/Memory and select More -> Transform from the menu.  Insert the following transform and save:

 

import re
if re.search('threshold of Memory', evt.summary):
    dev = dmd.Devices.findDevice(evt.ipAddress)
    if dev.getRRDValue('MemoryUsed') and dev.getRRDValue('MemoryTotal'):
        percentUsed = round(dev.getRRDValue('MemoryUsed') * 100 / dev.getRRDValue('MemoryTotal'))
        if re.search('threshold of Memory exceeded', evt.summary):
            status = 'exceeded'
        if re.search('threshold of Memory restored', evt.summary):
            status = 'restored'
        evt.summary = "threshold of Memory %s: current value %3.1f" % (status,percentUsed)
        evt.message = "threshold of Memory %s: current value %3.1f" % (status,percentUsed)

import re
if re.search('threshold of Paging', evt.summary):
    dev = dmd.Devices.findDevice(evt.ipAddress)
    if dev.getRRDValue('PagingUsed') and dev.getRRDValue('PagingTotal'):
        percentUsed = round(dev.getRRDValue('PagingUsed') * 100 / dev.getRRDValue('PagingTotal'))
        if re.search('threshold of Paging exceeded', evt.summary):
            status = 'exceeded'
        if re.search('threshold of Paging restored', evt.summary):
            status = 'restored'
        evt.summary = "threshold of Paging %s: current value %3.1f" % (status,percentUsed)
        evt.message = "threshold of Paging %s: current value %3.1f" % (status,percentUsed)

 


Screenshots:

SNMPPerfMonitorTemplate.png

SNMPPerfSimpleGraphs.png


REQUIREMENTS:

  • Zenoss Version: 2.3 (py2.4 file), 3.0 (py2.6 file), 4.2 (py2.7 file)
  • ZenPack Dependencies:
  • External Dependencies: snmpwalk needs to be installed for this pack to work
  • Installation:

Source:

Tagged Releases:

Change History:

  • 1.2 first version
  • 1.3 bugfixes
  • 1.6 repackaged to fix namespace collision
  • 1.7 improved performance, added monitoring of paging space and number of running processes

Trac tickets: http://zenpacks.zenoss.org/trac-zenpacks/report/1

Known issues:

Comments (73)