Skip navigation
1 2 Previous Next

bigegors Blog

16 Posts
1

CIMMon

Posted by bigegor Jul 1, 2012

CIMMon ZenPack is now ready for public BETA testing.

This ZenPack provides:

  1. Servers Monitoring - ANY Vendors, was tested against HP and Dell (CIM Provider needed)
  2. Storage Systems Monitoring - ANY Vendors, was tested against HP EVA (SMI-S agent needed)
  3. Operating Systems Monitoring - ANY Operating Systems, was tested against Windows Server 2003 (WMI, WinRM2), Linux (sblim-sfcb, Peragus)
  4. Protocols Support - WMI, WBEM, WS-Management, WinRM2

 

Before you get started, please read the README.rst

 

This ZenPack depend on SQL Data Source ZenPack, so please use the latest version from my git repository: https://github.com/epuzanov/ZenPacks.community.SQLDataSource

 

Namespaces for Server management:

root/hpq - HP Management Agent (ProLiant Servers)

root/dellomci - Dell OpenManage Agent

root/ibmsd - IBM System Director Agent

 

Namespaces for Storage Management:

root/eva - SMI-S HP EVA Storage

root/hpmsa - SMI-S HP MSA

root/va - SMI-S HP VA

root/xp - SMI-S HP XP

root/ontap - NetApp SMI-S agent

root/emc - SMI-S EMC

root/ibm - SMI-S IBM

root/smis - Hitachi

 

 

PS: the new HPEVAMon ZenPack is based on CIMMon, and can be used as example by ZenPack developers.

23

SQLDataSource ZenPack 2.0 Beta5

Posted by bigegor Oct 26, 2011

SQLDataSource ZenPack 2.0 BETA5 (1.98)

 

Changes:

  1. fixed memory leaks
  2. rewrited SQLClient.py
  3. bug fixes

 

WMI Data Source and WBEM Data Source was also updated.

 

Please test it.

 

Egor

8

SQLDATASOURCE ZENPACK 2.0 BETA4

Posted by bigegor Jun 14, 2011

SQLDataSource ZenPack 2.0 BETA4 (1.96)

 

Changes:

1. fixed memory leaks

2. rewrited pywbemdb and pywsmandb modules using standard xml.sax and urllib2 libraries (doesn't required any external libraries like pywbem or openwsman and works 4 times faster).

 

WMI Data Source and WBEM Data Source was also updated.

 

Please test it.

 

Egor

0

SQLDataSource ZenPack 2.0 BETA3 (1.90)

 

Changes:

1. SQLClient complet rewrited (it support now synchronous operations too)

2. new DB-API module pyisqldb (DB-API wrapper for unixODBC isql)

 

Roadmap:

1. My goal is to replace WMIDataSource, WBEMDataSource and ZenODBC ZenPacks with single SQLDataSource ZenPack. As result the same Performance template (o.e. query:  SELECT LoadPercentage FROM CIM_Processor ) can be used over any CIM Transport (WMI, WBEM, WS-Management) against any CIMOM.

2. in DB monitoring ZenPacks (PgSQLMon, MSSQLMon) i'll switch from ODBC data source (ZenODBC and unixODBC) to SQL data source with native python DB-API modules.

3. to simplify migration process i've made special versions of WMIDataSource, WBEMDataSource and ZenODBC ZenPacks which are drop-in replacement for original ZenPacks.

0

Updated 30.03.2011: SQLDataSource BETA2 (1.88)

 

I've update my SQLDataSource ZenPack. This update brings a lot of important changes.

  1. zenperfsql daemon was completely rewritten (task splitter added, cross-device queue optimization)
  2. added zenperfsql statistics to Collectors Performance Template
  3. new results parser in SQLClient
  4. reworked Data Source 'Test' function (data source can be tested against device components too)
  5. added pywbemdb, pywmidb and pywsmandb DB-API modules (pywbemdb and pywmidb are working out-of-box, for pywsmandb - openwsman python bindings must be installed)

 

note that, ZenPack is a BETA, so don't use it in production environment

 

all DB-API modules can be used either as a stand-alone module or within Zenoss.

pywmidb

Description:

provides python DB-API compatible interface for WMI

Dependencies:

on Linux: pysamba

on Windows: Win32 Extensions for Python (win32com)

Usage:

SQLDataSource Connection String:
'pywmidb',user='DOMAIN\username',password='Pa$$word',host='servername',namespace='root/cimv2'
python example:
import pywmidb
client = pywmidb.connect(user='DOMAIN\username',password='Pa$word',host='servername',namespace='root/cimv2')
cursor = client.cursor()
cursor.execute('select * from CIM_Processor')
cursor.description
cursor.fetchone()
cursor.fetchall()
cursor.close()
client.close()

 

pywbemdb

Description:

provides python DB-API compatible interface for WBEM

Dependencies:

on Linux: pywbem

on Windows: pywbem

Usage:

SQLDataSource Connection String:
'pywbemdb',scheme='https',port=5989,user='DOMAIN\username',password='Pa$$word',host='servername',namespace='root/cimv2'
python example:
import pywbemdb
client = pywbemdb.connect(
scheme='https',port=5989,user='DOMAIN\username',password='Pa$word',host='servername',namespace='root/cimv2')
cursor = client.cursor()
cursor.execute('select * from CIM_Processor')
cursor.description
cursor.fetchone()
cursor.fetchall()
cursor.close()
client.close()

 

pywsmandb

Description:

provides python DB-API compatible interface for WS-Management

Dependencies:

on Linux: openwsman python bindings

on Windows: Windows Management Framework (WinRM 2.0) and Win32 Extensions for Python (win32com)

Usage:

SQLDataSource Connection String:
'pywsmandb',scheme='https',port=5986,user='DOMAIN\username',password='Pa$$word',host='servername',namespace='http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2'
python example:
import pywsmandb
client = pywsmandb.connect(scheme='https',port=5986,user='DOMAIN\username',password='Pa$word',host='servername',namespace='http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2')
cursor = client.cursor()
cursor.execute('select * from CIM_Processor')
cursor.description
cursor.fetchone()
cursor.fetchall()
cursor.close()
client.close()


 

Also I've create two ZenPacks (WMIDataSource and WBEMDataSource) for compatibility with existing WMI and WBEM based ZenPacks. ZenODBC ZenPack also must be updated to be compatible with new SQLDataSource ZenPack.

 

Suggestions and comments are welcome.

 

Egor

16

IBMMon

Posted by bigegor Jan 11, 2011

IBM Monitoring ZenPack is ready for testing. This version is BETA quality and not for production use.

 

ZenPack Provides Monitoring of IBM Servers with IBM Direcor Agent Installed (need a feedback about compatibility with different IBM Director Agent Versions).

 

zCollectorPlugins:

  • community.snmp.IBMCPUMap
  • community.snmp.IBMDeviceMap
  • community.snmp.IBMExpansionCardMap (must be at the end of zCollectorPlugins lists)
  • community.snmp.IBMFanMap
  • community.snmp.IBMHardDiskMap
  • community.snmp.IBMLogicalDiskMap
  • community.snmp.IBMMemoryModuleMap
  • community.snmp.IBMNetworkAdapterMap
  • community.snmp.IBMPowerSupplyMap
  • community.snmp.IBMStorageCntlrMap
  • community.snmp.IBMTemperatureSensorMap

 

TODO:

  • IBM mibs
  • SNMP Traps Transforms
  • Fan type

 


Source: https://github.com/epuzanov/ZenPacks.community.IBMMon

 

 

Suggestions and comments are welcome.

 

Egor

 

History:

0.72 - fixed CPU modeling

0

MS SQL Server instance details:

MsSqlInstDetails.PNG

MS SQL Server instance graphs:

MsSqlInstGraphs.PNG

 

Database details:

MsSqlDatabaseDetails.PNG

Database graphs:

MsSqlDatabaseGraphs.PNG

0

Support for multiple Database Server Instances is now implemented in RDBMS ZenPack. DBSrvInst class defined basic database server instance and can be used by another ZenPacks (MsSQLMon_ODBC for now).

 

MsSQLMon_ODBC ZenPack was tested against MS SQL 2005 and MS SQL 2005 64-bit. I think it will work with MS SQL 2008 too, but not with MS SQL 2000.

 

Both ZenPacks are BETA quality, so don't use it in production environment

 

Installation:

  1. if you are using old version of  RDBMS ZenPack remove all database components from all servers and remove RDBMS and  MsSQLMon_ODBC ZenPacks.
  2. Install RDBMS ZenPack
  3. Install MsSQLMon_ODBC ZenPack
  4. set zMsSqlSrvInstances zProperty (space separated list of instances names)
  5. add community.odbc.MsSqlDatabaseMap to Modeler Plugins list
  6. remodel your server

 

Egor

0

I have ported HPEVAMon ZenPack to Zenoss 3.0 Beta. Testers are welcome.

 

Egor

0

I have ported some more ZenPacks to Zenoss 3.0 Beta. Testers are welcome.

 

Egor

0

ZenPacks for Zenoss 3.0 Beta

Posted by bigegor Jun 13, 2010

This is my first time trying to implement ZenPacks with Zenoss 3.0 Beta support.

 

Warning!!! ALPHA quality, not for production use.

 

Egor

4

VirtualIP ZenPack

Posted by bigegor Feb 22, 2010

This ZenPack can help to create Device object for Virtual Cluster resource.

zInterfaceMapIgnoreIpAddresses - re style IP Adresses list (o.e. ^192\.168\.1\.[456]).

Physical Devices (manageIp not in zInterfaceMapIgnoreIpAddresses) will ignore IPs form this list.

Virtual Cluster Resources (manageIp in zInterfaceMapIgnoreIpAddresses) used as manageIp.

0

WMIPerf_Windows ZenPack update

Posted by bigegor Feb 9, 2010

I've added community.wmi.ProcessMap collector plugin and OSProcess RRD Template to WMIPerf_Windows ZenPack. Now it possible to monitor Windows Servers without SNMP. Latest WMIPerf_Windows ZenPack avaliable via SVN.

1

I've update my WMIPerf_Windows ZenPack on SVN. This version is ALPHA quality and not for production use.

It used SVN version of WMIDataSource ZenPack.

Already done:

  • WMI CollectorPlugins:
    • DeviceMap
    • ProcessorMap
    • FileSystemMap
    • InterfaceMap
    • ProductMap
    • RouteMap
  • RRDTemplates
    • /Devices/Server/WBEM/Win/Device
    • /Devices/Server/WBEM/Win/ethernetCsmacd
    • /Devices/Server/WBEM/Win/FilesSystem

Todo:

  • WMI CollectorPlugins:
    • ProcessMap
  • RRDTemplates
    • /Devices/Server/WBEM/Win/OSProcess

 

Suggestions and comments are welcome.

 

Egor

 

0

WMIDataSource ZenPack beta

Posted by bigegor Jan 12, 2010

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
1 2 Previous Next