ZenPack:ControlCenter

From Zenoss Wiki
Revision as of 16:11, 16 September 2014 by Pcarinhas (Talk | contribs)$7

Jump to: navigation, search


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
Git sources (for cloning)
Link


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.0.0
Released on Not Released
Compatible with Zenoss Core 4.2.x

Background

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

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, RunningServices
  • Graphs for Memory, CPU, and Page Faults
  • Selected Thresholds

ControlCenter Structure

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]

ControlCenter Class Structure

Discovery

All objects will be automatically discovered via ControlCenter API.

Impact Support

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

Impact Structure


Installed Items

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

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.

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

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