Coder Social home page Coder Social logo

epuzanov / zenpacks.community.distributedcollectors Goto Github PK

View Code? Open in Web Editor NEW
13.0 6.0 9.0 37 KB

Distributed Collectors ZenPack

Home Page: http://community.zenoss.org/docs/DOC-5861

License: GNU General Public License v2.0

Python 89.61% Shell 10.39%

zenpacks.community.distributedcollectors's Introduction

ZenPacks.community.DistributedCollectors

About

This ZenPack provides a UI for configuring multiple collectors with Zenoss Core. It implements remote collector configuration using the method described in How to install distributed collectors manual.

Requirements

Zenoss

You must first have, or install, Zenoss 2.5.2 or later. This ZenPack was tested against Zenoss 2.5.2, Zenoss 3.2, 4.2.0 and Zenoss 4.2.5. You can download the free Core version of Zenoss from http://community.zenoss.org/community/download.

Installation

Install ZenPack on the master server

Download the Distributed Collectors ZenPack. Copy this file to your Zenoss server and run the following commands as the zenoss user.

zenpack --install ZenPacks.community.DistributedCollectors-2.0.2.egg
zenoss restart

Note that Developer Installation (with --link option) of ZenPacks not supported - all ZenPacks including this one must be in the normal directories to be synchronised to the collectors.

Install remote collector

Install Zenoss on remote collector without any ZenPacks - you may have to delete any entries from the /opt/zenoss/var/zenpack_actions.txt file first.

Configure "ssh public key authentication"

On the remote collector server check if /home/zenoss/.ssh directory exists, if not, than run ssh-keygen as zenoss user.

on Zenoss master server run as zenoss user:

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub | ssh zenoss@remote_collector_name "cat - >> ~/.ssh/authorized_keys"

Test you can ssh zenoss@remote_collector_name without prompts coming up for "add to known hosts". If it fails then check the files are all chmod 600 in the .ssh directory on both systems.

Usage

Add Remote Collector

In "Collectors" -> select menu item "Add Remote Monitor..." and enter name or ip address of remote collector. This must be the same name, fully qualified domain name or ip as you have tested with ssh or the local UserKnownHostsFile will not work.

Update Remote Collectors

Update your remote collector after installing, updating or removing any ZenPacks.

  1. in "Collectors" select all remote collectors you want update.
  2. in "Collectors" -> select menu item "Update Remote Monitors..."

Delete Remote Collectors

  1. in "Collectors" select all remote collectors you want update.
  2. in "Collectors" -> select menu item "Delete Remote Monitors..."

Zenoss Graph Rendering

The RRD files and rendering of graph images occurs on the remote collector - to use the zenbub connection and Zenoss Web Proxy rather than requiring users to connect to both systems then:

Navigate to Advanced > Collectors > [collectorname] > Edit > RenderURL to proxy through the main hub

from

http://collectorname.domain.com:8091

to

http://hubname.domain.com:8090/collectorname.domain.com

MAKE SURE NOT TO CHANGE RENDER USER OR PASSWORD (autofill will try to when using Firefox or Chrome)

Dynamic thresholds on memory from Zenpacks that expect access to RRD files such as

(here.getRRDValue('memTotalSwap') or 3145724) * .80

will fail since the hub cannot access the RRD file. Use this instead

((here.os.totalSwap/1024) or 3145724) * .80

Firewalls

On the remote collector add port 8091:tcp

lokkit -v --port=8091:tcp #Zenoss graph RRD render

On the main zenoss hub then add the following ports:

lokkit -v --port=8090:tcp #Zenoss Web Proxy connection (remote connector proxy to RRD render graphs)
lokkit -v --port=8100:tcp #ZeoDB
lokkit -v --port=3306:tcp #mysql
lokkit -v --port=8789:tcp #zenhub

zenpacks.community.distributedcollectors's People

Contributors

dpetzel avatar epuzanov avatar jstanley23 avatar mhaswell-resilient avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

zenpacks.community.distributedcollectors's Issues

Zenoss 5 support

Is this Zenpack compatible with Zenoss 5 ?

If not, is Zenoss 5 support planned ?

Thanks

masterdaemons not re-install safe for custom daemon exclusions

If you have a custom daemon that should only run on your master (and not collectors) You have to edit ZenPacks / community / DistributedCollectors / init.py and append a daemon to the masterdaemons list on line 32. If you re-install or install an updated version as some point this will get blown away.

In my case I can see the daemons.txt file on my collectors, but no such file exists on the master.

I think this list should get persisted to $ZENHOME/etc/master_daemons.txt and then parsed using zenPath('etc'). Install method should detect this in a similar fashion to the DAEMONS_TXT_ONLY which is currently handled in the install and remove methods.

I don't mind working up a patch if desired, if your not already in the progress of updating the pack for 4.x

NameError: global name 'ShellCommandJob' is not defined

Hello,

I don't know if this is related, but it seems the error is on DistributedCollectors. Check this output out:

2015-02-25 12:57:55,307 INFO zen.Job: Job 2d51d6b4-fd39-4c13-9611-64f1e4b10ab0 (ZenPacks.zenoss.XenServer.jobs.XenServerCreationJob) received
2015-02-25 12:57:55,318 INFO zen.Job: Beginning job Add XenServer Endpoint ZenPacks.zenoss.XenServer.jobs.XenServerCreationJob
2015-02-25 12:57:55,318 INFO zen.Job: Created XenServer endpoint device 192.168.1.1
2015-02-25 12:57:55,319 INFO zen.Device: device name '192.168.1.1' for ip '192.168.1.1'
2015-02-25 12:57:55,614 INFO zen.Device: 192.168.1.1's IP address has been set to 192.168.1.1.
2015-02-25 12:57:55,614 INFO zen.Device: setting title to '192.168.1.1'
2015-02-25 12:57:55,614 INFO zen.Device: setting tag to ''
2015-02-25 12:57:55,615 INFO zen.Device: setting serialNumber to ''
2015-02-25 12:57:55,616 INFO zen.Device: setting rackSlot to ''
2015-02-25 12:57:55,616 INFO zen.Device: setting productionState to 1000
2015-02-25 12:57:55,619 INFO zen.Device: setting priority to 3
2015-02-25 12:57:55,619 INFO zen.Device: setting comments to ''
2015-02-25 12:57:55,620 INFO zen.Device: setting performance monitor to 'localhost'
2015-02-25 12:57:55,704 INFO zen.Job: Waiting 40 seconds for ZenHub to learn about 192.168.1.1
2015-02-25 12:57:56,552 INFO zen.Job: Scheduling immediate modeling job for 192.168.1.2
2015-02-25 12:57:56,659 ERROR zen.Job: Job 8da2ac18-9b8b-4dbb-9e94-85ddf96ae4bc raised exception
2015-02-25 12:57:56,659 ERROR zen.Job: <traceback object at 0x7f88782b7b48>
2015-02-25 12:57:56,778 ERROR celery.worker.job: Task ZenPacks.zenoss.XenServer.jobs.XenServerCreationJob[8da2ac18-9b8b-4dbb-9e94-85ddf96ae4bc] raised exception: NameError("global name 'ShellCommandJob' is not defined",)
Traceback (most recent call last):
  File "/usr/local/zenoss/lib/python/celery/task/trace.py", line 186, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/zenoss/Products/Jobber/jobs.py", line 185, in _do_run
    result = _runjob()
  File "/usr/local/zenoss/lib/python/ZODB/transact.py", line 44, in g
    r = f(*args, **kwargs)
  File "/usr/local/zenoss/Products/Jobber/jobs.py", line 175, in _runjob
    result = self._run(*args, **kwargs)
  File "/usr/local/zenoss/ZenPacks/ZenPacks.zenoss.XenServer-1.1.0dev-py2.7.egg/ZenPacks/zenoss/XenServer/jobs.py", line 69, in _run
    return device.collectDevice(background=True)
  File "/usr/local/zenoss/Products/ZenModel/Device.py", line 1778, in collectDevice
    background, write)
  File "/usr/local/zenoss/Products/ZenModel/PerformanceConf.py", line 719, in collectDevice
    REQUEST, write)
  File "/usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/__init__.py", line 248, in _executeZenModelerCommand
    result = self.dmd.JobManager.addJob(ShellCommandJob,zenmodelerCmd)
NameError: global name 'ShellCommandJob' is not defined

I donno if ShellCommandJob is yours so I'll just put it here for now. I will research more on ShellCommandJob, and update this issue once I have more information.

Remote collector - No graphs - Zenrender

I am trying to configure a remote collector and I cannot get the graphs. I manage to model a remote device, but I don't see any graphs. One interesting thing is that I changed the configuration of zenrender to start automatically via /opt/zenoss/bin/zenoss by editing the line C="$C zenrender". Until there, zenrender works fine.
However, after I add the remote collector, the zenrender is shown as stopped and then restarted, but it does not really restart. I try to do it manually and it does not restart. Another important information is that this is happening in a clean installation of zenoss using ESXi 5.5. When I use Zenoss VM Virtual Appliance with a VMplayer it works fine. I can perfectly see the graphs.

image

image

(Master server hub ) -----| INTERNET |----- ( Collector)

Kind Regards,

Marcio

GUI Issue on SP367

I have issue with add or update remote collector, see image. This Loading is not working.
selection_011

ZenPacks.community.DistributedCollectors-2.0.1.egg & Zenoss 4.2.5

Hi! I am new to Zenoss. I have it installed and set up. It's working fine at my site. I am trying to setup distributed collectors but I am finding too many errors. I am following a tutorial created on Sep 14, 2009 - Last modified on Feb 28, 2012. Some files are in different folders and some configuration files have different syntax. It makes quite hard to follow for people like me that is learning how to setup Zenoss. Can I have some help?
Kind Regards,
Marcio

unexpected operator

Hi,

I add a remote collector and this is shown in the zenoss console:

2015-01-29 16:17:44,000 INFO zen.updateCollector: Update Remote Collector configuration
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenping configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenping: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zensyslog configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zensyslog: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenstatus configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenstatus: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zentrap configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zentrap: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenmodeler configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenmodeler: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenperfsnmp configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenperfsnmp: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zencommand configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zencommand: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenprocess configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenprocess: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zredis configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zredis: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenwin configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenwin: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenwinperf configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenwinperf: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zeneventlog configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zeneventlog: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenjmx configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenjmx: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenpython configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenpython: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenrrdcached configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenrrdcached: unexpected operator
2015-01-29 16:17:44,000 INFO zen.updateCollector: Update zenrender configuration /usr/local/zenoss/ZenPacks/ZenPacks.community.DistributedCollectors-2.0.2-py2.7.egg/ZenPacks/community/DistributedCollectors/bin/updateConfigs: 30: [: zenrender: unexpected operator

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.