ZenPack Development Guide
From Zenoss Wiki
This is the approved revision of this page, as well as being the most recent.
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.
- 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.