ZenPack Development Kit
Welcome to the ZenPack Development Kit (ZDK)!
The ZDK is a collection of development tools and documentation that you can use to build a custom ZenPack. ZenPacks are plugins that extend the functionality of Zenoss Collection Zone and Resource Manager deployments.
Typically, custom ZenPacks monitor new types of targets, but custom ZenPacks can
also integrate external systems or add new features.
The ZDK provides the zenpacklib
Python library, which makes building common
types of ZenPacks simpler, faster, more consistent, and more accurate.
You can describe the following features in YAML with the ZDK and extend their descriptions in Python if necessary:
- zProperties (configuration properties)
- Device classes
- Monitoring templates
- New device and component types
- Relationships between device and component types
- Event classes
- Process classes
- Device link providers
- Impact triggers
Audience
You should consider using the zenpacklib
library if any of the
following statements are true:
- Your ZenPack will only contain monitoring templates, but you prefer creating YAML files over creating monitoring templates through the Zenoss Collection Zone or Resource Manager browser interface.
- Your ZenPack needs to add zProperties.
- Your ZenPack needs to add new device or component types and relationships between them.
You should even consider using the zenpacklib
library if you are an experienced
ZenPack developer and already know how to create new device and
component types. With the zenpacklib
library, the amount of boilerplate code you
need to write is drastically reduced, if not eliminated. And you still
can use Python to extend the functionality provided by the zenpacklib
library.
If your ZenPack only consists of configuration you can create and add to
a ZenPack using the Zenoss web interface, and you are more comfortable
using the browser interface than creating a YAML file, you probably
should use the browser capabilities instead of the zenpacklib
library.
To begin using the ZDK, set up a productive development environment.