Developer's Guide

  • Docs Home
  • Community Home

2. Zenoss Daemon Overview

There are a few general types of daemon types in Zenoss:

Types of Daemons found in Zenoss

zenhub

Each instance of zenhub opens a connection to the ZODB. All other daemons connect to the hub in order to receive and transmit changes to the ZODB.

modeler daemons

These daemons attempt to construct a model of devices and networks using Zenoss objects, and associate components with devices to prepare for performance data collection.

collector daemons

Collector daemons are concerned with gathering performance data for each of the modeled components and storing the results in RRD files. The RRD data is always stored locally to the host that runs the collector daemon.

event daemons

An event daemon converts messages received from devices using whatever method the device supports, and converts the messages into Zenoss events.

zenrender

A render server takes a request for an RRD graph, renders the graphic and sends the graphic back. A render server will be found where collectors run, as the collectors generate the RRD files.

Zenoss Enterprise users also have the option of using Distributed Collectors, which can create hubs and collectors on different hosts in order to monitor devices. With Distributed Collectors there may be multiple zenhub daemons (one per hub, naturally), and for a host with collector daemons there will also be a renderserver.

From a programming perspective, most daemons will choose one of the following classes:

Class Features 
CmdBaseLogging and option parsing
ZenDaemonLogging and option parsing, daemon
ZCmdBaseLogging and option parsing, daemon, ZODB connection
PBDaemonLogging and option parsing, daemon, PB communications