The following tuning recommendations have been tested by Zenoss Professional Services deployment engineers and have been judged as safe values for most use-cases. Due to differences between instances, however, these recommendations may be "overkill" or inadequate for your infrastructure's requirements.
Please keep the following in mind:
- The Device Classes column provides example classes and is not exhaustive. Due to user customization and extending the product through ZenPacks, there are classes not accounted for in this table.
- Certain Device Classes make use of multiple datasource types. For instance, devices in the /Network/Cisco/Nexus sub-classes make use of the SNMP, Command, and Python datasource types.
- The recommendations given are based on default cycle times, except where noted. Increasing or decreasing cycle times will have an effect on instance count requirements.
|Daemon||Instances||Memory||Device Classes (count devices)||Config Options|
1. Confirm the service definition HostPolicy is configured to PREFER_SEPARATE. If upgrading from 6.2.x to 6.3.x, confirm again after upgrade.
workers: S: 2 M: 4 L: 8 XL: 12 XXL: 16 (anything L or bigger should be a SuperHub)
3. For 6.3 and earlier, set the following in zenhub.conf:
invalidationworkers: S: 2 M: 3 L: 4 XL: 6 XXL: 8
|zenhubworker||S: 2 M: 4 L: 8 XL: 12 XXL: 16||1GB||
Introduced in 6.3. Replaces manually setting the workers option in zenhub.conf.
|zenhubworker (adm)||1||1GB||Introduced in 6.4. Processes large applyDataMap tasks, freeing normal zenhubworkers for other tasks. See Zenhub and its workers.|
|zenhubiworker||S: 2 M: 3 L: 4 XL: 6 XXL: 8||1GB||Introduced in 6.4. Replaces manually setting the invalidationworkers option in zenhub.conf. See Zenhub and its workers.|
|zenhubworker (user)||0 (See Zenhub and its workers)||Introduced in 6.6. Processes tasks from a user-defined list. Used for troubleshooting. See Zenhub and its workers.|
|zenmodeler||1||1GB||All||1. In zenmodeler.conf, set parallel to 10
2. In zenmodeler.conf, set cycletime to 1440
3. Configure staggered modeling per https://support.zenoss.com/hc/en-us/articles/215003503
|zenping||1 instance / 1000 devices||1GB||All||Instance recommendation is based on default cycle time and timeout values. Longer timeout values and shorter cycle times will require additional instances.|
|zencommand||1 instance / 100 devices||1GB||/Server/SSH
|zenperfsnmp||1 instance / 100 devices||1GB||/Network
/Server (minus /Server/SSH, minus /Server/Microsoft/Windows)
|zenpython||1 instance / 100 devices||1GB||
|zenprocess||1 instance / 200 devices||1GB||/Server||To get a device count, navigate to Infrastructure > Processes and click the top-most organizer ("Processes"). The number of devices being monitored for processes will list in the lower-right corner. For example, "Displaying 1 - 16 of 341 rows."|
|zenvsphere||1||1GB||May require additional instances depending on size of vSphere instances and count. Check vSphere health report for details.|
|zensyslog||Never increase to more than 1||1GB|
|zentrap||Never increase to more than 1||1GB||You can specify how varbinds are handled. For more information, see Configuring varbind handling.|
|zenmail||0||1GB||Disabled by default. If you plan to use this service, you will need to start it (and configure autostart) manually. See Advanced > Control Center to configure autostart.|
|zenpop3||0||1GB||Disabled by default. If you plan to use this service, you will need to start it (and configure autostart) manually. See Advanced > Control Center to configure autostart.|
|zenmailtx||0||1GB||Deprecated in 6.x|
6.x: Set to EXACTLY the number of hosts in the collector pool
|2GB||This is for resiliency and quicker collection start up using cached configs, not for scale.|