Archived | full text search
Skip navigation
Currently Being Moderated

How to install distributed collectors

VERSION 12  Click to view document history
Created on: Sep 14, 2009 11:21 AM by Noel Brockett - Last Modified:  Feb 28, 2012 6:43 PM by dpetzel

** Be Sure You've Looked At docs/DOC-5861 before going to crazy with these steps. The linked ZenPack takes care of many of these steps automatically **


It is possible quite easily to install distributed collectors with zenoss core. This document is mostly based on an old forum thread.


This example will use the main server as and a distributed collector as

1. On the main server, activate zenrender


1.1 Edit file /usr/local/zenoss/zenoss/bin/zenoss

     if [ ! -f $ZENHOME/etc/DAEMONS_TXT_ONLY ] ; then
        C="$C zeoctl"
        C="$C zopectl"
        C="$C zenhub"
        C="$C zenping"
        C="$C zensyslog"
        C="$C zenstatus"
        C="$C zenactions"
        C="$C zentrap"
        C="$C zenmodeler"

        C="$C zenrender"

        C="$C zenperfsnmp"
        C="$C zencommand"
        C="$C zenprocess"
        #C="$C zenmail"

1.2 Launch "zenrender start" as zenoss user 'su - zenoss'


2. Install zenoss core on the remote server, but do not launch it.


2.1 Get rid of mysql, because we're going to use the central mysql server

If you are using the stack edition, modify /usr/local/zenoss/
elif [ "x$1" = "xstart" ]; then


    if [ "x$2" = "xmysql" ]; then
        if test -x $MYSQL_SCRIPT; then
###            $MYSQL_SCRIPT start
elif [ "x$1" = "xstop" ]; then


    if [ "x$2" = "xmysql" ]; then
        if test -x $MYSQL_SCRIPT; then
###            $MYSQL_SCRIPT stop
            sleep 2

2.2 Change zenoss start to remove zenhub and add zenrender

Create an empty file $ZENHOME/etc/DAEMONS_TXT_ONLY

, and then list all needed modules in a file $ZENHOME/etc/daemons.txt





2.3 allow the main server to snmp in file /etc/snmpd.conf


rocommunity public


2.4 Edit the conf files to use the main server zenhub but the local monitors

/usr/local/zenoss/zenoss/etc/zencommand.conf, zendisc.conf, zeneventlog.conf, zenmodeler.conf, zenperfsnmp.conf, zenping.conf, zenprocess.conf, zenrender.conf, zenstatus.conf, zensyslog.conf, zentrap.conf, zenwin.conf, zenwinmodeler.conf




Note that "monitor" can not be set to localhost or  
It needs to be set to an IP or hostname that corresponds to a network interface on the server.


2.5 Use the remote zope engine to use the main server engine

<zodb_db main>
  mount-point /
  # ZODB cache, in number of objects
  cache-size 5000


2.7 Install all needed zenpacks and plugins


This is most important if you are using nagios plugins or winexe template. Don't forget to copy all this binaries to the remote server, as it is this server that will run them against the devices.


2.8 fire up zenoss

3. On the main server, Add the remote zenoss as a new device

3.1 Management / Add Device :, use the main server as collector

4. Configure the remote collector on the main server

4.1 Management / Collector / Add Collector : use the DNS name as ID


4.2 Edit the newly created collector and change the "render URL" to use the zenders XML-RPC


Render URL :

5. Transfer existing devices to the remote distributor


5.1 RRD performance data are to be copied to the remote server scp -Cr /usr/local/zenoss/zenoss/perf/Devices/mydevice


5.2 don't forget to add the remote collector in devices /etc/snmpd.conf

rocommunity public


5.3 Move the devices to the remote collector


Management / Collectors /
Select the devices and use "Set collector"

Comments (38)