This ZenPack provides a new WSMAN data source type that makes it easy
to collect metrics from a WSMAN provider. It also provides a new
WSMANPlugin modeler plugin base class that simplifies modeling devices
and applications that support WSMAN.
Open Source
This ZenPack is developed and supported by Zenoss Inc. Contact Zenoss to
request more information regarding this or any other ZenPacks. Click here
to view all available Zenoss Open Source ZenPacks.
The following features are available to help you model and monitor
information available via WSMAN.
WSMAN Datasource Type
The WSMAN data source type added by this ZenPack allows you to add a
WSMAN datasource with the following new new data source properties.
Namespace: The WSMAN namespace. This must be specified and there is no default
value. A common example would be root/dcim.
CIM Class: The CIM Class to query. This must be specified and there is no
default value.
Query: Optional. The query to execute that will return the desired
record(s). This must be specified and there is no default value.
Result Component Key: Optional. Only used in cases where the WSMAN data source is in a
monitoring template that gets bound to components. In this case
Result Component Key should be set to the attribute or column name
that contains the component identifier in the result set of the
Query.
Result Component Value: Optional. Only used in cases where the WSMAN data source is in a
monitoring template that gets bound to components. In this case
Result Component Value is the value that gets mapped to values in
the Result Component Key column of the result set. Typically this
takes the form of a TALES expression such as ${here/id} or
${here/wsmanInstanceId} if wsmanInstanceID was modeled on your
component.
Result Timestamp Key: Optional. Used in both device- and component-bound monitoring
templates when the query result set has a column noting the time the
data was originally collected. Like the Result Component Key this
should be the name of an attribute or column name in the results. By
default this will default to NOW as the collection time.
WSMANPlugin Modeler Plugin
The WSMANPlugin modeler plugin base class allows you to create modeler
plugins that do something with data that is returned from a WSMAN
Enumerate call.
See the following example of a modeler plugin.
'''Description of what MyWSMANPlugin does.'''fromZenPacks.zenoss.WSMAN.modeler.WSMANPluginimportWSMANPluginclassMyWSMANPlugin(WSMANPlugin):modname='ZenPacks.example.MyZenPack.MyChassis'relname='mychassis'wsman_queries={'DCIM_EnclosureView':'','DCIM_SystemView':'',}defprocess(self,device,results,log):log.info('Modeler %s processing data for device %s',self.name(),device.id)enclosureView=results.get('DCIM_EnclosureView')systemView=results.get('DCIM_SystemView')rm=self.relMap()forinstinSystemView:om=self.objectMap({'id':self.prepId(str(inst['ChassisName'])),'model':inst['Model'],})rm.append(om)
Installed Items
Configuration Properties
zWSMANCollectionInterval: Default interval (in seconds) between
WSMAN datasource collections. (Default: 300)
zWSMANMaxObjectCount: Elements returned from the API per request.
(Default: 50)
zWSMANPassword: Password for remote WSMAN service.
zWSMANPort: TCP Port of WSMAN service. (Default: 443)
zWSMANUsername: Username for remote WSMAN service. (Default: root)
zWSMANUseSSL: Use SSL for remote WSMAN service. (Default: true)