Skip to content

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.