Difference between revisions of "ZenPack:ControlCenter"

From Zenoss Wiki
Jump to: navigation, search
 
(27 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
|Organization=Zenoss, Inc.
 
|Organization=Zenoss, Inc.
 
|ZenPack name=ZenPacks.zenoss.ControlCenter
 
|ZenPack name=ZenPacks.zenoss.ControlCenter
|Source URI=https://github.com/zenoss/ZenPacks.zenoss.ControlCenter.git
 
 
|Flavor=commercial
 
|Flavor=commercial
 
|Releases={{Release
 
|Releases={{Release
 +
|Version=1.2.0
 +
|Release date=2016/06/02
 +
|Summary=.
 +
* Improve device status events
 +
* Added health-checks for running services
 +
|Compatible with=Zenoss Core 5.1.x, Zenoss Resource Manager 5.1.x
 +
|Requires=ZenPacks.zenoss.PythonCollector 1.5+,
 +
|Download URL=https://zenoss.leapfile.net/
 +
}}{{Release
 +
|Version=1.0.1
 +
|Release date=2015/07/04
 +
|Compatible with=Zenoss Core 5.0.x, Zenoss Resource Manager 5.0.x
 +
|Requires=ZenPacks.zenoss.PythonCollector 1.5+,
 +
|Download URL=https://zenoss.leapfile.net/
 +
}}{{Release
 
|Version=1.0.0
 
|Version=1.0.0
|Release date=: N/A
+
|Release date=2015/02/18
|Compatible with=Zenoss Core 4.2.x
+
|Compatible with=Zenoss Core 5.0.x, Zenoss Resource Manager 5.0.x
 +
|Download URL=https://zenoss.leapfile.net/
 
}}
 
}}
 
|Devices=
 
|Devices=
Line 17: Line 32:
 
|DataAudits=
 
|DataAudits=
 
}}
 
}}
This ZenPack treats the databases as the fundamental component thereby allowing multiple databases to be associated with a single server.
+
This ZenPack treats the databases as the fundamental component thereby allowing
 +
multiple databases to be associated with a single server.
  
 
=== Prerequisites ===
 
=== Prerequisites ===
Line 23: Line 39:
 
* ControlCenter must be running and listening on a target device's HTTPS port.
 
* ControlCenter must be running and listening on a target device's HTTPS port.
 
* ControlCenter access credentials for the monitor user must be provided
 
* ControlCenter access credentials for the monitor user must be provided
__TOC__
 
  
 
=== Gallery ===
 
=== Gallery ===
Line 41: Line 56:
  
 
* Dynamically generated templates based completely on the ControlCenter API
 
* Dynamically generated templates based completely on the ControlCenter API
* Monitoring of Pools, Hosts, Services, RunningServices
+
* Monitoring of Pools, Hosts, Services, Running services
 
* Graphs for Memory, CPU, and Page Faults
 
* Graphs for Memory, CPU, and Page Faults
 
* Selected Thresholds
 
* Selected Thresholds
  
=== ControlCenter Structure ===
+
=== ControlCenter Structure and Discovery ===
  
The structure used to model the ControlCenter is given by the following YUML:
+
[[File:ccz.png|thumb|320px|ControlCenter Structure]]
  
<pre>// --------------------------------------------
+
The following ControlCenter components will be automatically discovered through
// Containing
+
the modeling process.
// --------------------------------------------
+
[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 -&gt;&gt; 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]</pre>
+
  
[[Image:ccz.png|ControlCenter Class Structure|900px]]
+
;CC-Pools
 +
: Description: Resource pools that Zenoss services are associated with. Non-Zenoss services will not have a pool and will not be reflected in the Pool grid counts.
 +
: Attributes: Memory Capacity, CPU Core Capacity
 +
: Relationships: CC-Hosts, CC-Services, CC-Running
  
=== Discovery ===
+
;CC-Hosts
 +
: Description: Host systems that run Zenoss services.
 +
: Attributes: CPU Cores, IP Address, Memory
 +
: Relationships: CC-Pool, CC-Running
 +
 
 +
;CC-Services
 +
: Description: Service definitions that specify service properties and states. Only Zenoss services have an associated CC-Pool.
 +
: Attributes: Target State
 +
: Relationships: Parent Service, Child Services, CC-Pool, CC-Running
 +
 
 +
;CC-Running
 +
: Description: These are the running services defined in CC-Services. Only Zenoss services have an associated CC-Pool.
 +
: Attributes: Instances, Status, Service ID, Parent Service ID, Host ID
 +
: Relationships: CC-Pool, CC-Host, CC-Service
 +
 
 +
;CC-Volumes:
 +
: Description: ControlCenter storage volume
 +
: Attributes: TotalBytes, UsedBytes, DataFile, Driver. Status
 +
: Relationships: None
  
All objects will be automatically discovered via ControlCenter API.
 
  
 
=== Impact Support ===
 
=== Impact Support ===
  
In the ControlCenter, the natural objects are Pools, Hosts, Services, and RunningServices. The following basic hierarchy is supported:
+
In the ControlCenter, the natural objects are Pools, Hosts, Services, and
 +
Running services. The following basic hierarchy is supported:
  
* Pools: Contain Hosts, Services, RunningServices, and other Pools
+
* Pools: Contain Hosts, Services, Running services, and other Pools
* Hosts: Contain RunningServices
+
* Hosts: Contain Running services
 
* Services: Define all services that will run on Hosts
 
* Services: Define all services that will run on Hosts
* RunningServices: Are running instances of the Service definitions
+
* Running: Are running service instances of the Service definitions
  
In addition to the base hierarchy above we also have relationships between the objects based on TCP/UDP &quot;Endpoint&quot; port connections.
+
In addition to the base hierarchy above we also have relationships between the
 +
objects based on TCP/UDP &quot;Endpoint&quot; port connections.
  
In order to make the Impact relationships easier to understand we use the following rules:
+
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 who have a parent-child relationship are mapped directly
 
* Objects that have Endpoints are mapped to their respective targets
 
* Objects that have Endpoints are mapped to their respective targets
 
* Indirect Endpoints are re-mapped onto their Service definition
 
* Indirect Endpoints are re-mapped onto their Service definition
* RunningServices are mapped to their Service definition
+
* Running services are mapped to their Service definition
  
 
[[Image:three.png|Impact Structure]]
 
[[Image:three.png|Impact Structure]]
  
 +
{{Note}} Impact Configuration
 +
In order to easily get a full impact diagram for ControlCenter, identify and add
 +
the top-level service only. This will normally be one of the following:
 +
 +
* Zenoss.resmgr
 +
* Zenoss.core
  
 
== Installed Items ==
 
== Installed Items ==
  
 
Installing this ZenPack will add the following items to your Zenoss system:
 
Installing this ZenPack will add the following items to your Zenoss system:
 +
 +
=== Device Class ===
 +
 +
This ZenPack adds the /ControlCenter Device Class which is already configured for ControlCenter monitoring after updating the values for the Configuration Properties referenced below.
  
 
=== Configuration Properties ===
 
=== Configuration Properties ===
  
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.
+
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 )
 
* zControlCenterHost ( Defaults to device name )
Line 146: Line 174:
  
 
Install the target server as you normally would.
 
Install the target server as you normally would.
 +
 +
* Note: The target device '''must''' be a valid DNS resolvable address.
  
 
=== Set the Credentials ===
 
=== Set the Credentials ===
  
<blockquote>'''Note:'''
+
<blockquote>'''note'''
 
+
If your CCZP lives on the same ControlCenter you are monitoring, you don't need
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.
+
to do anyting: CCZP get's its credentials from the local container that runs
 +
it.
 
</blockquote>
 
</blockquote>
 
+
<blockquote>'''warning'''
<blockquote>'''WARNING: '''
+
  
 
If you are modeling a different ControlCenter that is remote to the CCZP
 
If you are modeling a different ControlCenter that is remote to the CCZP
Line 161: Line 191:
 
* Select your device from the ''Infrastructures Tab''
 
* Select your device from the ''Infrastructures Tab''
 
* Click on ''Configuration Properties''
 
* Click on ''Configuration Properties''
* Search for '''zControlCenterUser''': Enter &quot;'''zenoss'''&quot;
+
* Search for '''zControlCenter'''
* Search for '''zControlCenterPassword''': Enter the password for 'zenoss'
+
* Set your username for '''zControlCenterUser'''
 +
* Set your password for '''zControlCenterPassword'''
  
 
You must use the same username and password you would normally use to log into
 
You must use the same username and password you would normally use to log into
Line 170: Line 201:
  
 
=== Batch Configuration with '''zenbatchload''' ===
 
=== Batch Configuration with '''zenbatchload''' ===
 
 
You can also add your devices in batch for convenience and automation.
 
You can also add your devices in batch for convenience and automation.
  
Line 178: Line 208:
 
zPythonClass='ZenPacks.zenoss.ControlCenter.ControlCenter'
 
zPythonClass='ZenPacks.zenoss.ControlCenter.ControlCenter'
 
'mp6.zenoss.loc'</pre>
 
'mp6.zenoss.loc'</pre>
 
 
* Run the command on the terminal
 
* Run the command on the terminal
  
 
<pre>zenbatchload /tmp/db2.txt</pre>
 
<pre>zenbatchload /tmp/db2.txt</pre>
=== Model the ControlCenter ===
 
  
 +
=== Model the ControlCenter ===
 
* From the device view, select '''Model Device''' from the gear menu.
 
* From the device view, select '''Model Device''' from the gear menu.
 
* If all goes will Zenoss should model the device.
 
* 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.
+
* Since the Pools, Hosts, Services, and Running services are just components of the server, you should see them hanging off of the device as components.
 +
 
 +
== Changes ==
 +
;1.2.0
 +
 
 +
* Update device status: ZEN-23413
 +
 
 +
;1.1.0
 +
 
 +
* Added distributed storage Volumes
 +
* Added health-checks for running services
 +
 
 +
;1.0.1
 +
 
 +
* Upgrade ZenPackLib to YAML format
 +
* Fix ZEN-16534: Allow Linux host linking in Impact
 +
 
 +
;1.0.0
 +
 
 +
* Initial release
 
{{ZenPackFooter}}
 
{{ZenPackFooter}}

Latest revision as of 00:18, 22 October 2016


Note: This ZenPack is available in commercial versions of Zenoss. Click here to request more information about this commercial ZenPack. Click here to see all commercial ZenPacks.

Organization
Zenoss, Inc.
ZenPack name
ZenPacks.zenoss.ControlCenter


Applications Monitored: 



ControlCenter ZenPack

This ZenPack monitors the ControlCenter application management and orchestration system.

Warning

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.

Support

This ZenPack is included with commercial versions of Zenoss and enterprise support for this ZenPack is provided to Zenoss customers with an active subscription.

Releases

Version 1.2.0- Download
Summary of changes: .
  • Improve device status events
  • Added health-checks for running services
Released on 2016/06/02
Requires ZenPacks.zenoss.PythonCollector 1.5+ ZenPack
Compatible with Zenoss Core 5.1.x, Zenoss Resource Manager 5.1.x
Version 1.0.1- Download
Released on 2015/07/04
Requires ZenPacks.zenoss.PythonCollector 1.5+ ZenPack
Compatible with Zenoss Core 5.0.x, Zenoss Resource Manager 5.0.x
Version 1.0.0- Download
Released on 2015/02/18
Compatible with Zenoss Core 5.0.x, Zenoss Resource Manager 5.0.x

Background

This ZenPack treats the databases as the fundamental component thereby allowing multiple databases to be associated with a single server.

Prerequisites

  • ControlCenter must be running and listening on a target device's HTTPS port.
  • ControlCenter access credentials for the monitor user must be provided

Gallery

Features

CCZP features include:

  • Dynamically generated templates based completely on the ControlCenter API
  • Monitoring of Pools, Hosts, Services, Running services
  • Graphs for Memory, CPU, and Page Faults
  • Selected Thresholds

ControlCenter Structure and Discovery

ControlCenter Structure

The following ControlCenter components will be automatically discovered through the modeling process.

CC-Pools
Description: Resource pools that Zenoss services are associated with. Non-Zenoss services will not have a pool and will not be reflected in the Pool grid counts.
Attributes: Memory Capacity, CPU Core Capacity
Relationships: CC-Hosts, CC-Services, CC-Running
CC-Hosts
Description: Host systems that run Zenoss services.
Attributes: CPU Cores, IP Address, Memory
Relationships: CC-Pool, CC-Running
CC-Services
Description: Service definitions that specify service properties and states. Only Zenoss services have an associated CC-Pool.
Attributes: Target State
Relationships: Parent Service, Child Services, CC-Pool, CC-Running
CC-Running
Description: These are the running services defined in CC-Services. Only Zenoss services have an associated CC-Pool.
Attributes: Instances, Status, Service ID, Parent Service ID, Host ID
Relationships: CC-Pool, CC-Host, CC-Service
CC-Volumes
Description: ControlCenter storage volume
Attributes: TotalBytes, UsedBytes, DataFile, Driver. Status
Relationships: None


Impact Support

In the ControlCenter, the natural objects are Pools, Hosts, Services, and Running services. The following basic hierarchy is supported:

  • Pools: Contain Hosts, Services, Running services, and other Pools
  • Hosts: Contain Running services
  • Services: Define all services that will run on Hosts
  • Running: Are running service 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
  • Running services are mapped to their Service definition

Impact Structure

Bulbgraph.png Note:  Impact Configuration
In order to easily get a full impact diagram for ControlCenter, identify and add 
the top-level service only. This will normally be one of the following:
* Zenoss.resmgr
* Zenoss.core

Installed Items

Installing this ZenPack will add the following items to your Zenoss system:

Device Class

This ZenPack adds the /ControlCenter Device Class which is already configured for ControlCenter monitoring after updating the values for the Configuration Properties referenced below.

Configuration Properties

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 )
  • zControlCenterUser
  • zControlCenterPassword
  • zControlCenterPerfCycle: Performance collection interval (Default 300s)
  • zControlCenterModelCycle: Modeling interval (Default 3600s)

Modeler Plugin

  • zenoss.ControlCenter

Datasource Types

  • Automatically generated from the ControlCenter API

Monitoring Templates

  • 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.

  • Note: The target device must be a valid DNS resolvable address.

Set the Credentials

note

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.

warning

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 zControlCenter
  • Set your username for zControlCenterUser
  • Set your password for zControlCenterPassword

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
zenbatchload /tmp/db2.txt

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 Running services are just components of the server, you should see them hanging off of the device as components.

Changes

1.2.0
  • Update device status: ZEN-23413
1.1.0
  • Added distributed storage Volumes
  • Added health-checks for running services
1.0.1
  • Upgrade ZenPackLib to YAML format
  • Fix ZEN-16534: Allow Linux host linking in Impact
1.0.0
  • Initial release

Installation

Normal Installation (packaged egg)

  1. Download the appropriate egg file for the version of Zenoss you are running.
  2. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  3. Install the ZenPack:
    $ zenpack --install ZenPacks.zenoss.ControlCenter-*.egg
  4. Restart these services:
    $ zenoss restart


Discuss

Purplemarker.png New: Don't forget to add yourself to the Zenoss User Map!

blog comments powered by Disqus