![]() |
![]() |
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
.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):
]
2015-02-17 12:55:21,164 DEBUG zen.PythonWinSnmp: In OnError - result is [Failure instance: Traceback (failure with no fra\
mes):
] 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? |
> |