Configuring multiple Zenoss collectors
This post discusses how to configure multiple Zenoss collectors for centralized monitoring and alerting. These instructions are inspired by http://www.zenoss.com/Members/fdeckert/how-to-install-distributed-collectors/. Many of the tasks below reference $ZENHOME, which can be found by logging in as the zenoss user, but the tasks may need to be run as root.
Install zenoss on ServerB, but do not start it
Ensure DNS is setup with FQDN for both servers
Task |
ServerA |
ServerB |
Install snmpd on both systems |
apt-get install snmp snmpd |
|
Configure snmpd |
Snmpconf Select none Select to create snmpd.conf Select Access Control Setup Choose SNMPv1/SNMPv2c read-only access community name Enter the read-only community name, enter, enter Finished, Finished, Quit mv snmpd.conf /etc/snmp/snmpd.conf |
|
Enable remote snmp access |
Edit /etc/default/snmpd Change the line: SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′ To: SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid’ Restart snmpd |
|
Verify snmp is working |
snmpwalk -v 2c -c public ServerB .1.3 |
snmpwalk -v 2c -c public ServerA .1.3 |
Configure Zenoss services |
Create two files in $ZENHOME/etc named DAEMONS_TXT_ONLY and daemons.txt Enter the below into daemons.txt and save: zeoctl zopectl zenhub zenping zensyslog zenstatus zenactions zentrap zenmodeler zenrender zenperfsnmp zencommand zenprocess zenwin zeneventlog |
Create two files in $ZENHOME/etc named DAEMONS_TXT_ONLY and daemons.txt Enter the below into daemons.txt and save: zenping zensyslog zenstatus zenactions zentrap zenmodeler zenrender zenperfsnmp zencommand zenprocess zenwin zeneventlog |
Configure ServerB to use local monitors, but use the hub on ServerA |
|
In $ZENHOME/etc, edit the following files: 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 Enter the following 2 lines in all files: monitor ServerB hubhost ServerA |
Configure ServerB to use the zope engine on ServerA |
|
In $ZENHOME/etc, edit zope.conf Find the zeoclient section Change the line: server localhost:8100 To: server ServerA:8100 |
Add the remote collector |
In the Web Interface, browse to Management | Collectors | Add Monitor Enter the name ServerB Change Render URL from: /zport/RenderServer To: http://ServerA:8090/ServerB |
|
Copy ZenPacks and Plugins |
Scp -r $ZENHOME/ZenPacks ServerB:$ZENHOME/ZenPacks |
Make sure any other alterations (symlinks, packages, etc…) are duplicated |
Ensure files are owned by zenoss |
|
chown –R zenoss.zenoss $ZENHOME/ZenPacks |
Start Zenoss |
/etc/init.d/zenoss-stack restart |
/etc/init.d/zenoss-stack start |
Begin moving devices |
In the Web Interface, browse to Management | Collectors | localhost Select several devices and click Devices | Set Perf Monitor |
|
Hi!
I have some troubles implementing distributed collectors in zennos core.
What is the Point “Create two files in $ZENHOME/etc named DAEMONS_TXT_ONLY and daemons.txt” exactly for?
My Problem is i cant render the rrd file collected from the B Server. Can u explain a bit more about the render URL?
greets David
This comment has been removed by a blog administrator.
The performance Graphs doesn't seem to work in the distributed collector model. Zenoss is not able to render the rrd files collected from the B server. Can u pls help to resolve this.