TECHZEN Zenoss User Community ARCHIVE  

Monitoring Windows devices with SNMP

Subject: Monitoring Windows devices with SNMP
Author: Jane Curry
Posted: 2015-02-14 10:09

If anyone is interested, I have created a new ZenPack that combines the work done by Ryan Matte in two previous ZenPacks, to monitor Windows devices using SNMP, without needing any add-on SNMP agents (like the Informant add-on).

It monitors cpu, ram, paging, number of processes and number of services. It also models Windows Services and provides a service component with a status.

This is currently beta so I have NOT yet published it to the wiki ZenPacks page. If you have a test environment, please feel free to try it out - you can get it from github at https://github.com/jcurry/ZenPacks.skills1st.WinSnmp .

In addition, I have used this ZenPack as an example to illustrate a paper that documents using the Python Collector ZenPack. You can get the draft (currently incomplete) paper from http://www.skills-1st.co.uk/papers/

Please report comments on either the ZenPack or the paper to me at jane.curry@skills-1st.co.uk.

Cheers,
Jane

Email: jane.curry@skills-1st.co.uk    Web: https://www.skills-1st.co.uk



Subject: This is pretty cool! At first
Author: [Not Specified]
Posted: 2015-02-17 09:08

This is pretty cool! At first glance the Memory and Paging graphs aren't rendering (no rrd files). CPU and Services appears to be working fine.



Subject: Here's some more info..
Author: [Not Specified]
Posted: 2015-02-17 12:02

Here's some more info..
2015-02-17 12:55:13,817 DEBUG zen.PythonWinSnmp: snmpV3Args are []
2015-02-17 12:55:13,817 DEBUG zen.twistedsnmp: AgentProxy._getCmdLineArgs: using google ipaddr on 10.254.251.92
2015-02-17 12:55:13,818 DEBUG zen.PythonWinSnmp: In getTableStuff - snmp_proxy is t at 0x5d4e690> and scalarOIDstrings is ['1.3.6.1.2.1.25.2.3.1.2', '1.3.6.1.2.1.25.2.3.1.4', '1.3.6.1.2.1.25.2.3.1.5', '1\
.3.6.1.2.1.25.2.3.1.6']

2015-02-17 12:55:21,164 DEBUG zen.PythonWinSnmp: result is [Failure instance: Traceback (failure with no frames): 'twisted.internet.error.TimeoutError'>: User timeout caused connection failure.
]
2015-02-17 12:55:21,164 DEBUG zen.PythonWinSnmp: In OnError - result is [Failure instance: Traceback (failure with no fra\
mes): : User timeout caused connection failure.
] and config is 10.254.251.92

I can snmpwalk those OIDs just fine..

for x in 1.3.6.1.2.1.25.2.3.1.2 1.3.6.1.2.1.25.2.3.1.4 1.3.6.1.2.1.25.2.3.1.5 1.3.6.1.2.1.25.2.3.1.6;do
> snmpwalk -v2c --c$snmpstring 10.254.251.92 $x
> done
HOST-RESOURCES-MIB::hrStorageType.1 = OID: HOST-RESOURCES-TYPES::hrStorageRemovableDisk
HOST-RESOURCES-MIB::hrStorageType.2 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.3 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.4 = OID: HOST-RESOURCES-TYPES::hrStorageCompactDisc
HOST-RESOURCES-MIB::hrStorageType.5 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory
HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-TYPES::hrStorageRam
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 0 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 0 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.5 = INTEGER: 65536 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 65536 Bytes
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 0
HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: 10459647
HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: 7863551
HOST-RESOURCES-MIB::hrStorageSize.4 = INTEGER: 0
HOST-RESOURCES-MIB::hrStorageSize.5 = INTEGER: 131028
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 65528
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 0
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 4425791
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 182493
HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 0
HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: 13252
HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 13638



Subject: Hi Jane,
Author: [Not Specified]
Posted: 2015-02-19 12:52

Hi Jane,
Did some more digging on this. The problem lies in getTableStuff but actually in the tableretriever.py part of the twistedsnmp lib. I see that there's a difference between how v1 and v2v3 are handled, so I switched my test device to v1 -- and it was able to successfully retrieve the ram settings and the RRD files were created. So I'm guessing there's something wrong with the way the v2v3 _getbulk is being called via twistedsnmp...

Dave



Subject: Another note, the Python SNMP
Author: [Not Specified]
Posted: 2015-02-23 09:35

Another note, the Python SNMP Windows Services don't show up in the "Windows Services" Infrastructure tab. I wouldn't mind adding the zenpack to production to discover windows services but I'd want to be able to set Monitoring -> False en masse for the discovered services, for instance... At minimum I'd want to suppress alerts for the services until I see what all has been discovered..



< Previous
Using the Python Collector ZenPack - documentation and examples
  Next
AWS ZenPack not fully installed?
>