ZenPack Development Guide

From Zenoss Wiki
Revision as of 19:44, 9 September 2016 by Chet Luther (Talk | contribs)$7

Jump to: navigation, search

Welcome to the ZenPack Development Guide. The purpose of this guide is to walk you through the creation of a ZenPack. We will be focusing on solving specific problems rather than attempting to provide an exhaustive list of the capabilities of a ZenPack.

ZenPack API (zenpacklib)

You should start with zenpacklib when you need to go beyond bundling configuration in ZenPacks and start extending Zenoss in more sophisticated ways. zenpacklib is the ZenPack API.

Example ZenPacks

The following ZenPacks are good examples of best practices in ZenPack development. Their source is publicly available.

AWS (source)
Complex example of auto-discovering guest devices, using a third-party Python module and Impact adapters.
RabbitMQ (source)
Example of nested component modeling and executing modeling and monitoring using shell commands run remotely over SSH.
OpenStack (source)
Example of bundling a third-party Python library and using it for modeling and collection.
MikroTik (source)
Example of simple SNMP device monitoring.
OpenVZ (source)
Another example similar to RabbitMQ. Modeling and monitoring using shell commands run remotely over SSH.
oVirt (source)
Example of nested component modeling and non-containing relationships. Modeling and monitoring using an HTTP API.
CloudStack (source)
Another example similar to oVirt. Slightly simpler.
PostgreSQL (source)
Another example similar to OpenStack that uses a third-party Python library. Also does nested components.
CloudFoundry (source)
Another example similar to OpenStack. Custom-build protocol library for HTTP API.