Community

Zenoss Newsletter
Monitored by Zenoss
SourceForge.net Logo

Setting up multiple zenperfsnmp collectors across different hosts

by Paul Mininni last modified 2008-09-23 06:33

Note: The primary/central server is A and the additional one is B. Both of these servers sit behind a firewall so apache is used with the mod_rewrite module in order to access zenoss over port 80 from the desktop.

  1. Create DNS CNAMEs
    Host A: "zenoss.YOURDOMAIN.com"
    Host B: "B.zenoss.YOURDOMAIN.com"

  2. Open the following TCP ports between Host A and Host B.
    8789
    8100
    8080
    8081
  3. Configure the following daemons on B to connect to A's zenhub and appropriate monitor
    zenperfsnmp
    zencommand
    zenprocess
    zenwin
    zeneventlog
    zenwinmodeler
    with the following in the .conf file:
    monitor B.zenoss.YOURDOMAIN.com
    hubhost zenoss.YOURDOMAIN.com

  4. Create a performance monitor on host A with the name of:
    "B.zenoss.YOURDOMAIN.com" or "B" (either have worked)

    • Set the RenderURL to "http://B.zenoss.YOURDOMAIN.com:80" (or 8080 depending on your configuration)
    • You can use the admin login/password for the Render User/Pass

     

  5. Modify the $ZENHOME/Products/PluggableAuthService/plugins/CookieAuthHelper.py Line containing "setCookie" to the following: response.setCookie(self.cookie_name, quote(cookie_val), path='/', domain='.zenoss.yourdomain.com')

  6. Have Zope on B use the ZODB server on A:
    Edit $ZENHOME/etc/zope.conf on B: Search for the zeoclient section and change the server to zenoss.YOURDOMAIN.com

  7. Modify the Zenoss startup on B to the following:
    Edit $ZENHOME/bin/zenoss:
    #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"

  8. Apache:
    I had to change the rewrite mode to update it with the "zenoss.YOURDOMAIN.com" in the rule ServerName also needs to be "B.zenoss.YOURDOMAIN.com" on B and "zenoss.YOURDOMAIN.com" on A.

  9. Remove the weekly cron job for zenoss to run zeopack.

Now this works...I get the graphs etc. I know I need to set the permissions for the database so events can be seen from B but I am only looking to this to work from A at the moment. I don't see B being access directly, yet.

Note: When doing an upgrade, you really should upgrade all of the servers. I'll update this How To when I do an upgrade. Remember to put back the code change in step 4.

 

 

AddThis Social Bookmark Button
Document Actions