Archived community.zenoss.org | full text search
Skip navigation
Currently Being Moderated

How to use distributed collectors

VERSION 1 
Created on: Sep 14, 2009 11:21 AM by Noel Brockett - Last Modified:  Sep 14, 2009 11:21 AM by Noel Brockett

It is possible quite easily to install distributed collectors with zenoss core. This document is mostly based on the following forum thread: http://forums.zenoss.com/viewtopic.php?t=7907

 

This example will use the main server as zenoss.paris.fr and a distributed collector as zenoss.noida.in.

  1. On the main server zenoss.paris.fr, 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 Launche "zenrender start"

 

  1. Install zenoss core on the remote server zenoss.noid.in, but do not launch it.

 

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

 

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

if [ "x$2" = "xmysql" ]?; then
if test -x $MYSQL_SCRIPT; then
###            $MYSQL_SCRIPT start
MYSQL_ERROR=$?

fi

elif [ "x$1" = "xstop" ]?; then

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

2.2 Change zenoss start to remove zenhub and add zenrender : /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"

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

 

rocommunity public zenoss.paris.fr

 

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

 

/usr/local/zenoss/zenoss/etc/zenactions.conf, 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 monitor zenoss.noida.in hubhost zenoss.paris.fr

 

2.5 Use the remote zope engine to usethe main server engne

 

/usr/local/zenoss/zenoss/etc/zope.conf <zodb_db main>

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

server zenoss.paris.fr:8100 ...

</zeoclient>

</zodb_db_main>

 

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

 

  1. On the main server zenoss.paris.fr, Add the remote zenoss as a new device

 

3.1 Management / Add Device : zenoss.noida.in, use the main server as collector

 

  1. Configure the remote collector on the main server

 

4.1 Management / Collector / Add Collector : use the DNS name zenoss.noida.in as ID

 

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

 

Render URL : http://zenoss.paris.fr:8090/zenoss.noida.in

 

  1. Transfert existing devices to the remote distributor

 

5.1 RRD performance data are to be copied to the remote server

 

zenoss.paris.fr# scp -Cr /usr/local/zenoss/zenoss/perf/Devices/mydevice zenoss.noida.in:/usr/local/zenoss/zenoss/perf/Devices

 

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

 

rocommunity public zenoss.noida.in

 

5.3 Move the devices to the remote collector

 

Management / Collectors / zenoss.paris.fr Select the devices and use "Set collector"

 

#
Comments (0)