- Zenoss, Inc.
- ZenPack name
- Git sources (for cloning)
The ZenPack Catalog has moved to its new home at https://www.zenoss.com/product/zenpacks as of January 17, 2017. The following information may be out of date, and this page will eventually be removed.
This ZenPack is included with commercial versions of Zenoss and enterprise support for this ZenPack is provided to Zenoss customers with an active subscription.
- Version 1.0.0
- Released on : N/A
- Compatible with Zenoss Core 4.2.x
This ZenPack treats the databases as the fundamental component thereby allowing multiple databases to be associated with a single server.
- 1 ControlCenter ZenPack
- 1.1 Warning
- 1.2 Support
- 1.3 Releases
- 1.4 Background
- 1.5 Features
- 1.6 Installed Items
- 1.7 Installation and Configuration
- 1.8 Installation
- 1.9 Discuss
- ControlCenter must be running and listening on a target device's HTTPS port.
- ControlCenter access credentials for the monitor user must be provided
CCZP features include:
- Dynamically generated templates based completely on the ControlCenter API
- Monitoring of Pools, Hosts, Services, RunningServices
- Graphs for Memory, CPU, and Page Faults
- Selected Thresholds
The structure used to model the ControlCenter is given by the following YUML:
// -------------------------------------------- // Containing // -------------------------------------------- [ControlCenter]++pools -controlcenter[Pool] [ControlCenter]++hosts -controlcenter[Host] [ControlCenter]++services -controlcenter[Service] [ControlCenter]++running -controlcenter[Running] // -------------------------------------------- // Non-Containing // -------------------------------------------- // Host can only be in one Pool [Pool]0..1poolHosts -.-hostPool *[Host] // Pool can have many childPools [Pool]*parentPool -.-childPools 0..1[Pool] // Pool can have many Services [Pool]0..1assignedServices -.-assignedPool *[Service] // Pool can have many Running Services [Pool]0..1assignedRunnings -.-runPool *[Running] // Service has many Running svcs (service_definition ->> instances). [Service]0..1serviceRuns -.-serviceDef *[Running] // Service can have many child Services [Service]*parentService -.-childServices 0..1[Service] // Running has one Host [Running]*runHost -.-hostRuns 0..1[Host]
All objects will be automatically discovered via ControlCenter API.
In the ControlCenter, the natural objects are Pools, Hosts, Services, and RunningServices. The following basic hierarchy is supported:
- Pools: Contain Hosts, Services, RunningServices, and other Pools
- Hosts: Contain RunningServices
- Services: Define all services that will run on Hosts
- RunningServices: Are running instances of the Service definitions
In addition to the base hierarchy above we also have relationships between the objects based on TCP/UDP "Endpoint" port connections.
In order to make the Impact relationships easier to understand we use the following rules:
- Objects who have a parent-child relationship are mapped directly
- Objects that have Endpoints are mapped to their respective targets
- Indirect Endpoints are re-mapped onto their Service definition
- RunningServices are mapped to their Service definition
Installing this ZenPack will add the following items to your Zenoss system:
The credential setup for the CCZP is very simple. You are only required to enter credentials (username, password) when you monitor a non-local installation of your ControlCenter.
- zControlCenterHost ( Defaults to device name )
- zControlCenterPort ( Defaults to HTTPS TCP/443 )
- zControlCenterPerfCycle: Performance collection interval (Default 300s)
- zControlCenterModelCycle: Modeling interval (Default 3600s)
- Automatically generated from the ControlCenter API
- Automatically generated from the ControlCenter API
Installation and Configuration
Installation consists of the following steps which will be covered in depth:
- Install the ZenPack on Zenoss
- Install the target device in Zenoss
- Bind the plugin modeler template to server
- Set the zXYZConnectionStrings property
- Model the device
Install the ZenPack
- If the CCZP was installed automatically, you don't need to do or restart anything.
- If CCZP was not installed by default, install the CCZP zenpack as usual. Make sure you restart all services before continuing.
Install the Target Device in Zenoss
Install the target server as you normally would.
Set the Credentials
If your CCZP lives on the same ControlCenter you are monitoring, you don't need to do anyting: CCZP get's its credentials from the local container that runs it.
If you are modeling a different ControlCenter that is remote to the CCZP installation, you must set the credentials as follows:
- Select your device from the Infrastructures Tab
- Click on Configuration Properties
- Search for zControlCenterUser: Enter "zenoss"
- Search for zControlCenterPassword: Enter the password for 'zenoss'
You must use the same username and password you would normally use to log into the CC interface. This is typically the zenoss account. Test the CC login page directly if you have any doubts.
Batch Configuration with zenbatchload
You can also add your devices in batch for convenience and automation.
- Create a text file (filename: /tmp/db2.txt). Each server has a stanza like
/Devices/ControlCenter zPythonClass='ZenPacks.zenoss.ControlCenter.ControlCenter' 'mp6.zenoss.loc'
- Run the command on the terminal
Model the ControlCenter
- From the device view, select Model Device from the gear menu.
- If all goes will Zenoss should model the device.
- Since the Pools, Hosts, Services, and RunningServices are just components of the server, you should see them hanging off of the device as components.
Normal Installation (packaged egg)
- Download the appropriate egg file for the version of Zenoss you are running.
- Ensure you are logged in as the zenoss user:
$ sudo su - zenoss
- Install the ZenPack:
$ zenpack --install ZenPacks.zenoss.ControlCenter-*.egg
- Restart these services:
$ zenoss restart
New: Don't forget to add yourself to the Zenoss User Map!blog comments powered by Disqus