I've update my WMIDataSource ZenPack on SVN. This version is BETA quality and not for production use.
Changelog:
* Query syntax unification with WBEMDataSource
- Example1: SELECT * FROM CIM_Processor - will enumerate all Instances of CIM_Processor class
- Example2: CIM_Processor - will also enumerate all Instances of CIM_Processor class
- Example3: SELECT * FROM CIM_Processor WHERE DeviceID="CPU0" - get single Instance for CPU0
- Example3: CIM_Processor.DeviceID="CPU0" - get single Instance for CPU0
* Queries sorting (join multiple queries in one query)
- Example: Device has 4 CPUs (components)
- DataSource Query for CPU1: CIM_Processor.DeviceID="CPU0"
- DataSource Query for CPU2: CIM_Processor.DeviceID="CPU1"
- DataSource Query for CPU3: CIM_Processor.DeviceID="CPU2"
- DataSource Query for CPU4: CIM_Processor.DeviceID="CPU3"
- Result query: CIM_Processor
- Instance.DeviceID="CPU0" -> DataPoints from DataSource CPU1
- Instance.DeviceID="CPU1" -> DataPoints from DataSource CPU2
- Instance.DeviceID="CPU2" -> DataPoints from DataSource CPU3
- Instance.DeviceID="CPU3" -> DataPoints from DataSource CPU4
- 4 queries replaced by 1 query
* CIMDataSource support
- zenperfwmi daemon collected performance data specified in CIMDataSource
* support for DataPoint Aliases (evaluate befor write RRD)
- before be saved in RRD, values will be evaluated by REVERSED alias.formula
- supported operations +, -, *, /
- tales variables: now, here
- Example:
- alias.formula = "100,/,1,-" replaced by "1,+,100,*"
- Why reversed?
- raw data: 100 -> "100,100,/,1,-" -> RRD: 0 -> "0,100,/,1,-" ->Report: -1 - False!
- raw data: 100 -> "100,1,+,100,*" -> RRD: 10100 -> "10100,100,/,1,-" ->Report: 100 -True!
* WMIClient can be used standalon, based on modified Query.py from pysamba
* added __path attribute for Wbem Insatnce
- __path attribute added to instance
- __path == instanceName
- Example:CIM_Processor.DeviceID="CPU3"
* WMIPlugin CollectorPlugin added (any namespaces, tables format like in WBEMPlugin)
- support for namespaces other than root/cimv2
* support for avg, count, sum, min, max function for datapoints with multiline result
- if query return multiple instance to zenperfwmi datemon, avg, count, sum, min, max value can be evaluated
- Example: Query: CIM_Processor, DataPoint:LoadPercentage_avg, Alias:LoadPercentage
- CIM_Processor.DeviceID="CPU0" LoadPercentage=20
- CIM_Processor.DeviceID="CPU1" LoadPercentage=40
- CIM_Processor.DeviceID="CPU2" LoadPercentage=50
- CIM_Processor.DeviceID="CPU3" LoadPercentage=30
- Result in RRD: 35
* WmiProxy support
- Example: SAN Storage IP: 10.10.10.10, Server with SMI-S: 20.20.20.20
- for device SAN Storage zProperty zWmiProxy:20.20.20.20