Zenoss Core 5 Scaling

From Zenoss Wiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

This needs to be completed before you deploy your Zenoss application as it modifies the original template

*The following process may require modification of the zenhub to correctly distribute the work load over the extra services....

Zenoss Core 5 doesn't allow additional collectors to be created. Out of the box, some modification is required to increase the number of instances for services that are part of collectors.

Affected Services

  • collectorredis
  • zencommand
  • zenjmx
  • zenmodeler
  • zenperfsnmp
  • zenping
  • zenprocess
  • zenpython
  • zenstatus
  • zensyslog
  • zentrap
  • zminion

Modifying the Service Definition

The configuration for the Zenoss application is defined in a template json file located at /opt/serviced/templates/zenoss-core-5.0.0.json

In order to increase the number of instances for the services listed above the template needs to be modified. For this example we will modify it for the zenperfsnmp service.

Within the template file starting from line 4973 is the following configuration:

"Name": "zenperfsnmp", "Title": "", 
"Version": "", "Command": "su - zenoss -c \"/opt/zenoss/bin/zenperfsnmp run -c --duallog --monitor Template:(parent .).Name \"", 
"Description": "Performs high-performance, asynchronous SNMP performance collection and stores it locally to the collector", 
"Tags": [   
  "daemon",   
  "collector"  
 ],  
"ImageID": "zenoss/core_5.0:5.0.0",
 "Instances": {  
 "Min": 1,
 "Max": 1,  "
 Default": 0   
},

Change the Max setting to be 0 (allows unlimited). This setting can be changed on any of the services.

If you edit this file in place then a new Application Template named Zenoss.core(v5.0) will appear on control center that you can deploy. If you are editing a separate version then us add application template screen then deploy that.

Once your new Zenoss application is deployed you can click on the collector services and increase the numbers of instances.


Notes

  • So far this has only been tested with zenperfsnmp and it looks to work correctly. The instances connect to the Zenhub and they retrieve data from devices.
  • It looks likely that additional collectors could be created from this file by copying the block config for the Localhost collector
  • A preconfigured template file could be released to the community to save people doing this editing
  • There should be a programmatic way to add extra services without editing the initial template