This page references the GroundWork Cloud Hub and the Red Hat Enterprise Virtualization (RHEV) environment.

1.0 Managing a RHEV Connection

This section reviews how to add and configure the Cloud Hub for an RHEV connection. Each connector requires a unique set of parameters (e.g. entry-point, credentials). You will need your GroundWork server and virtual environment connector parameters handy.

1.1 Adding a new connection
  1. Log in to GroundWork Monitor as an Administrator.
  2. Select GroundWork Administration > GroundWork Cloud Hub. The Cloud Hub Configuration Wizard screen will be displayed where you can add and configure the Cloud Hub for various virtual environments. For each of the established configurations you can start or stop the connection, modify the parameters, or choose to remove a connection.
  3. To start a new connection click the +Add icon next to the environment to add. You will create a new connector in this way for each region in RHEV that is to be monitored.

    Figure: Cloud Hub Configuration Wizard
1.2 Configuring GroundWork server values
  1. Next, enter the GroundWork server values to access the region. You will need to point the Cloud Hub RHEV connector to a GroundWork server, indicate if it supports SSL, and give it an API key to transmit data.

    Figure: GroundWork server values for RHEV (Example)

    • Display Name: This is the configuration server display name.
    • GroundWork Server Name: You will need to enter the name of the GroundWork server that will integrate the Cloud Hub messages. If Cloud Hub is running on the same server as the portal the name can be localhost, or as preferred the server name.
    • Is SSL enabled on GroundWork Server?: Check this box if the GroundWork server is configured for secure HTTPS.
    • GroundWork Web Services Username and Password: User and password configured to access the Web Services API. These can be obtained by opening a tab to the GroundWork Administration > GroundWork License page. These are the same credentials set within /usr/local/groundwork/config/ws_client.properties.
      • Important for LDAP enabled systems: Make sure that it matches with the entry in the ws_client.properties file and the user is member of the Authenticated group and the WSUser (or GWUser) group in LDAP.
      • Without 7.0.2 SP3: The Web Services user name may be different if you are using LDAP and GroundWork Monitor 7.0.2 without the SP3 patch. In this case make an adjustment to what you see in the image below to match what you have, and also fill in the accurate password.
      • With 7.0.2 SP3: If you applied the SP3 patch the Web Services user will not have a password, instead you need to fill in the token from the GroundWork Administration > GroundWork License page. Under the title Webs Services API Account Info the default encrypted token can be copied into the Cloud Hub page.
    • Merge hosts on GroundWork Server?: If checked, this option combines all metrics of same named hosts under one host. For example,  if there is a Nagios configured host named demo1 and a Cloud Hub discovered host named demo1, the services for both configured and discovered hosts will be combined under the hostname demo1 (case-sensitive).
1.3 Configuring virtualization server values
  1. We continue with the second half of the configuration wizard by entering the values for the virtualization server. The data that the GroundWork server receives comes from the RHEV server, the information is pulled from the API on a periodic basis based on the check interval that is set. You can also select which views to include.

    Figure: Values for a RHEV connection (Example)

    • Is SSL enabled on RHEV Server?: Check this box if the RHEV server is configured for secure HTTPS.
    • RHEV-M Server: This is the name of the RHEV-M server and the domain name, (e.g. RHEV-M-server.yourdomain.com)
    • RHEV-M entry-point: (e.g. api)
    • RHEV-M Login Name and Password: Server username and password.
    • RHEV-M Realm: RHEV-M "realm" is assigned when setting up the RHEV-M server. By default it is internal
    • Certificate Store Path and Passcode: (e.g. /usr/local/groundwork/java/jre/lib/security/cacerts)
    • Check Interval (in mins): This is the polling interval for collecting monitoring data from the virtual instance and sending it to the GroundWork server. The value is in minutes.
    • Sync Interval (in mins):
    • Connection Retries (-1 infinite): This entry is the number of retries for the connection and sets a limit on how many attempts are made after a failure. If you set this to -1 the retrying goes on forever. The number set indicates how many connections are attempted before the connection is left inactive (until you restart it).
    • Views: The four radio buttons specify the views you would like to report. The Hypervisor View, Storage View, Network View, and Resource Pool View.
  2. Select SAVE which saves the current connection values and writes the entries to an XML file in the GroundWork server /usr/local/groundwork/conifg/cloudhub directory. When you choose to save the Cloud Hub connector is assigned an agent ID and that in turn becomes a record locator in Foundation when you begin monitoring.
  3. Then to validate the configuration select TEST CONNECTION which will check if the virtual instance is accessible with the given credentials. If successful you should see Connection successful! at the top of the screen.
  4. After the credentials have been validated select NEXT to display an associated connection metrics screen where you can determine the metrics to be monitored for RHEV, (the HOME option would take you back to the first page of the configuration wizard).
1.4 Determining metrics to be monitored

Each management system provides metrics for specific checks that can be defined for the instance or the container. The property name and the thresholds are defined in a monitoring profile in an XML format, (see section 3.2 below). In the UI the available metrics are separated. All of the thresholds monitoring can be turn off and on. By default Warning and Critical thresholds are set to -1 which turns them off and can allow you to get an idea by watching the data coming in and to set a threshold value that is appropriate for the environment.

  1. The metrics screen allows you to define if a metric should be monitored and graphed and lets you set the values for Warning and Critical thresholds at which to trigger alerts, these profile metric options are described below. The selections you make are applied to every instance discovered in the region. The set of selections is saved on the GroundWork server in the /usr/local/groundwork/config/cloudhub/profiles directory as a profile in an XML file. Upon saving, changes are written to the XML profile file and become effective both against new instances that may be discovered as well as already monitored instances. 
    • Attribute: The name of the service attribute (the metric name reported by the virtualization server).
    • Monitored: When on (checked) the service will be monitored.
    • Graphed: When on (checked) the service will be graphed.
    • Warning and Critical Thresholds: These values control the triggering of alerts. A Warning number larger than the Critical value will cause Cloud Hub to detect the metric as a trigger. Choosing a -1 in a threshold box will disable triggering on that alert.
    • Service Name: CloudHub automatically creates service names based on the metric name gathered from a virtualization server. The Service Names option adds the ability to report the polled metrics under a unique name that is set by the administrator. 
      If a Service Name is added for an attribute, along with the Graphed option on (checked), a performance graph will need to be configured for the new service name. You can easily do this by copying and editing the original performance graph entry. Go to Configuration > Performance, from the Select Service-Host entry drop-down list select the original service name, select Copy, and in the Service field replace the entry with the new service name you entered in Cloud Hub, select Create Copy. After a couple minutes the graph should display in Status.
    • Description: A description of the service attribute.
  2. When you are satisfied with the profile selections choose SAVE to write out the profile. Select HOME to return to the main Cloud Hub panel.
  3. Select START for the specific connector to begin the discovery and data collection process. 

2.0 Monitoring Profile for the RHEV Virtual Environment

The master monitoring profiles for virtual environments are stored on the GroundWork server. Each time the user goes into the configuration screens for Cloud Hub the monitoring profile from the GroundWork server would be loaded into the Cloud Hub. This allows to you to manage and maintain the monitoring profiles for Cloud Hub in a central location.

2.1 Location of profiles

The location for Cloud Hub monitoring profiles is:


Viewing the profiles directory:

[root@gwdemo~]# cd /usr/local/groundwork/core/vema/profiles
[root@gwdemo profiles\]# ls
amazon_monitoring_profile.xml      openstack_monitoring_profile.xml
docker_monitoring_profile.xml      rhev_monitoring_profile.xml
netapp_monitoring_profile.xml      vmware_monitoring_profile.xml
[root@gwdemo profiles]#

The name of the RHEV monitoring profile is:


If you wish, you may carefully edit rhev_monitoring_profile.xml to include additional numeric metrics.

If you edit PLEASE test immediately. Any metric test that is slightly misspelled or otherwise rejected short-circuits ALL the metrics from reporting silently and without raising flags. In general, we can't recommend adding additional numeric metrics, at the time of this writing all useful metrics have been included as part of the released XML file contents.
2.2 RHEV monitoring profile: rhev_monitoring_profile.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
        <metric name="nic[0].stat.data.current.rx.value" criticalThreshold="-1"
                description="NIC 1 bytes received" graphed="true" monitored="true" warningThreshold="-1" > </metric>
        <metric name="nic[0].stat.data.current.tx.value" criticalThreshold="-1"
                description="NIC 1 bytes transmitted" graphed="true" monitored="true" warningThreshold="-1" > </metric>
        <metric name="nic[0].stat.errors.total.rx.value" criticalThreshold="-1"
                description="NIC 1 errors received" graphed="true" monitored="true" warningThreshold="-1" > </metric>
        <metric name="nic[0].stat.errors.total.tx.value" criticalThreshold="-1"
                description="NIC 1 errors transmitted" graphed="true" monitored="true" warningThreshold="-1" > </metric>
        <metric name="stat.cpu.load.avg.5m.value" criticalThreshold="90.0"
                description="5 minute Load Average" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.ksm.cpu.current.value" criticalThreshold="90.0"
                description="KSM CPU utilization" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.cpu.current.idle.value" criticalThreshold="5.0"
                description="CPU Idle Current" graphed="true" monitored="true" warningThreshold="20.0"> </metric>
        <metric name="stat.cpu.current.system.value" criticalThreshold="80.0"
                description="CPU System Current" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.cpu.current.user.value" criticalThreshold="80.0"
                description="CPU User Current" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.buffers.value" criticalThreshold="80.0"
                description="Memory buffers (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.cached.value" criticalThreshold="80.0"
                description="Memory cached (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.shared.value" criticalThreshold="80.0"
                description="Memory shared (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.free.value" criticalThreshold="80.0"
                description="Memory free (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.total.value" criticalThreshold="80.0"
                description="Memory total (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.used.value" criticalThreshold="80.0"
                description="Memory used (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.swap.cached.value" criticalThreshold="90.0"
                description="Swap cached (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.swap.free.value" criticalThreshold="5.0"
                description="Swap free (bytes)" graphed="false" monitored="false" warningThreshold="10.0"> </metric>
        <metric name="stat.swap.total.value" criticalThreshold="80.0"
                description="Swap total (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="stat.swap.used.value" criticalThreshold="80.0"
                description="Swap used (bytes)" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="syn.host.cpu.used" criticalThreshold="90.0"
                description="% CPU used" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.mem.used" criticalThreshold="90.0"
                description="% Memory used" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.mem.buffers" criticalThreshold="90.0"
                description="% Memory as buffers" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.mem.cached" criticalThreshold="90.0"
                description="% Memory as cached" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.mem.free" criticalThreshold="5.0"
                description="% Memory free" graphed="true" monitored="true" warningThreshold="10.0"> </metric>
        <metric name="syn.host.mem.shared" criticalThreshold="90.0"
                description="% Memory shared" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.swap.used" criticalThreshold="90.0"
                description="% Swap used" graphed="true" monitored="true" warningThreshold="80.0"> </metric>
        <metric name="syn.host.swap.free" criticalThreshold="5.0"
                description="% Swap free" graphed="true" monitored="true" warningThreshold="10.0"> </metric>
        <metric name="syn.host.swap.cached" criticalThreshold="90.0"
                description="% Swap cached" graphed="true" monitored="true" warningThreshold="80.0"> </metric>

        <metric name="used" sourceType="storage"
                description="Total Used Bytes of Storage Device" monitored="true" graphed="false" warningThreshold="-1" criticalThreshold="-1" />
        <metric name="available" sourceType="storage"
                description="Free Space on Storage Device (bytes)" monitored="true" graphed="true" warningThreshold="-1" criticalThreshold="-1" />
        <metric name="committed" sourceType="storage"
                description="Committed Bytes on Storage Device" monitored="true" graphed="false" warningThreshold="-1" criticalThreshold="-1" />
        <metric name="syn.storage.percent.free" sourceType="storage"
                description="Percent Free of a Storage Device" monitored="true" graphed="true" warningThreshold="30" criticalThreshold="10" />

        <metric name="disk[0].actual_size" criticalThreshold="-1"
                description="Disk 0 Actual Size" graphed="false" monitored="false" warningThreshold="-1" > </metric>
        <metric name="disk[0].provisioned_size" criticalThreshold="-1"
                description="Disk 0 Provisioned Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="disk[0].size" criticalThreshold="-1"
                description="Disk 0 Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="disk[1].actual_size" criticalThreshold="-1"
                description="Disk 1 Actual Size" graphed="false" monitored="false" warningThreshold="-1" > </metric>
        <metric name="disk[1].provisioned_size" criticalThreshold="-1"
                description="Disk 1 Provisioned Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="disk[1].size" criticalThreshold="-1"
                description="Disk 1 Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="disk[2].actual_size" criticalThreshold="-1"
                description="Disk 2 Actual Size" graphed="false" monitored="false" warningThreshold="-1" > </metric>
        <metric name="disk[2].provisioned_size" criticalThreshold="-1"
                description="Disk 2 Provisioned Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="disk[2].size" criticalThreshold="-1"
                description="Disk 2 Size" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="memory" criticalThreshold="0"
                description="System Memory" graphed="false" monitored="false" warningThreshold="0" > </metric>
        <metric name="memory_policy.guaranteed" criticalThreshold="0"
                description="System Memory policy/guaranteed" graphed="false" monitored="false" warningThreshold="0" > </metric>
        <metric name="stat.cpu.current.guest.value" criticalThreshold="90.0"
                description="CPU Current Guest" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.cpu.current.hypervisor.value" criticalThreshold="90.0"
                description="CPU Current Hypervisor" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.cpu.current.total.value" criticalThreshold="90.0"
                description="CPU Current Total" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="stat.memory.installed.value" criticalThreshold="-1"
                description="Memory Installed (bytes)" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="stat.memory.used.value" criticalThreshold="-1"
                description="Memory Used (bytes)" graphed="false" monitored="true" warningThreshold="-1" > </metric>
        <metric name="syn.vm.cpu.used" criticalThreshold="90.0"
                description="Percent CPU Used" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="syn.vm.mem.used" criticalThreshold="90.0"
                description="Percent Memory Used" graphed="true"  monitored="true" warningThreshold="50.0"> </metric>
        <metric name="syn.vm.disk[0].actual" criticalThreshold="90.0"
                description="Percent Disk 0 Used" graphed="true" monitored="true" warningThreshold="50.0"> </metric>
        <metric name="syn.vm.disk[1].actual" criticalThreshold="90.0"
                description="Percent Disk 1 Used" graphed="false" monitored="false" warningThreshold="50.0"> </metric>
        <metric name="syn.vm.disk[2].actual" criticalThreshold="90.0"
                description="Percent Disk 2 Used" graphed="false" monitored="false" warningThreshold="50.0"> </metric>


3.0 Removing Connectors from Monitoring

If you decide you do not want to monitor a particular region, simply navigate to GroundWork Administration > GroundWork Cloud Hub select STOP for the connector, then DELETE. All of the created host groups and the discovered and monitored instances for that region will be deleted from the Foundation database within a few minutes and monitoring access to the region endpoint will cease.

Additionally, see How to remove Cloud Hub hosts in the document How to delete or remove hosts.


red red Delete
hat hat Delete
rhev rhev Delete
cloud cloud Delete
hub hub Delete
connector connector Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.