How to synchronize unsynchronized Component element types to CA Performance Center

Document ID : KB000109027
Last Modified Date : 01/08/2018
Show Technical Document Details
Introduction:
In CA Performance Management (CAPM), Component Elements for CPU, Memory and Partition elements are not synchronized to CA Performance Center (CAPC) from the CA Data Aggregator (DA).

A result of this is the inability to create Groups with these specific Component elements when targeting them for Event Threshold Rules.

There is a way to selectively choose particular types of Component elements for synchronization to CAPC. This is not possible for single selective elements. It can only be applied to all elements of a given Component type.

Follow these steps to get specific Component type elements synchronized to CAPC for use in Groups and/or Event Threshold Rules.
Background:
This allows users to create Groups, and generate Events from Threshold Rules for specific Component elements once synchronized to CAPC. Before this the alternative was generating Events on all the Component elements of a given type tied to a device at the parent device level.
Environment:
All supported CA Performance Management releases
Instructions:
An example of this activity for the Partition Component Element type will be shown in line with the instructions.


1. Bring up the following URL in a browser, or run a REST API GET on the URL to get a full list of all Component types in the environment. Replace DAHOST with the DA systems host name or IP address.

http://DAHOST:8581/typecatalog/components

Find the Component type to change. In this case we're using:

<FacetType name="Partition">
<Documentation>A partition of a storage item.</Documentation>
<FacetOf namespace="http://im.ca.com/core" name="Item"/>
<Component>true</Component>
<WebService version="1.0.0">
<EndPoint create="false" delete="false" get="true" getList="true" update="false" url="partitions" createOnlyIfUnique="false"/>
<Reference ref="{http://im.ca.com/inventory}DeviceComponent" use="Required"/>
</WebService>
</FacetType>

2. Bring up the following URL in a browser, or run a REST API GET on the URL to get the XML for the specific Component type selected. Replace DAHOST with the DA systems host name or IP address; replace COMPONENTNAME with the value from <FacetType name="name">.

http://DAHOST:8581/typecatalog/components/COMPONENTNAME

In this sample it would be:
http://DAHOST:8581/typecatalog/components/Partition

That provides the following:
<!-- Auto-generated by the type catalog local manager. -->
<DataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" namespace="http://im.ca.com/inventory" xsi:noNamespaceSchemaLocation="ComponentFacet.xsd">
<Author>CA</Author>
<Version>1.0</Version>
<FacetType name="Partition">
<Documentation>A partition of a storage item.</Documentation>
<FacetOf namespace="http://im.ca.com/core" name="Item"/>
<Component>true</Component>
<WebService version="1.0.0">
<EndPoint create="false" delete="false" get="true" getList="true" update="false" url="partitions" createOnlyIfUnique="false"/>
<Reference ref="{http://im.ca.com/inventory}DeviceComponent" use="Required"/>
</WebService>
</FacetType>
</DataModel>

3. Copy the Component types XML and place it in a REST API client as the Body. We'll next change a few values, add a statement and run a REST PUT to update the Component type. This is what will trigger its related elements being synchronized to CAPC.

3A. Raise the version value from 1.0 to 1.01, 1.1 to 1.11, etc
3B. Add the following statement on the line after </WebService> but before before </FacetType>:

<ItemSyncDefinition categorize="false" context="true" groupBy="false" itemSubtypeName="partition" itemTypeLabel="Partition" itemTypeLabelPlural="Partitions" itemTypeName="component" mapped="false" />

If using a different Component type, replace the itemSubtypeName, itemTypeLabel and itemTypeLabelPlural values with ones that would make sense. For example if doing this for a CPU Component type the line might look like this:

<ItemSyncDefinition categorize="false" context="true" groupBy="false" itemSubtypeName="cpu" itemTypeLabel="CPU" itemTypeLabelPlural="CPUs" itemTypeName="component" mapped="false" />

The full new sample XML for the Body of a PUT in the Partition example used here would be:
DataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" namespace="http://im.ca.com/inventory" xsi:noNamespaceSchemaLocation="ComponentFacet.xsd">
<Author>CA</Author>
<Version>1.01</Version>
<FacetType name="Partition">
<Documentation>A partition of a storage item.</Documentation>
<FacetOf namespace="http://im.ca.com/core" name="Item"/>
<Component>true</Component>
<WebService version="1.0.0">
<EndPoint create="false" delete="false" get="true" getList="true" update="false" url="partitions" createOnlyIfUnique="false"/>
<Reference ref="{http://im.ca.com/inventory}DeviceComponent" use="Required"/>
</WebService>
<ItemSyncDefinition categorize="false" context="true" groupBy="false" itemSubtypeName="partition" itemTypeLabel="Partition" itemTypeLabelPlural="Partitions" itemTypeName="component" mapped="false" />
</FacetType>
</DataModel>

4. Run the REST API PUT against the URL:

http://DAHOST:8581/typecatalog/components/COMPONENTNAME

In this case the URL for Partitions would be:
http://DAHOST:8581/typecatalog/components/Partition

Ensure the REST API is set up with a Header specifying the Content-Type as application/xml

5. Confirm the changes. Bring up the following URL in a browser, or run a REST API GET on the URL to get the XML for the specific Component type selected. Replace DAHOST with the DA systems host name or IP address; replace COMPONENTNAME with the value from <FacetType name="name">.

http://DAHOST:8581/typecatalog/components/COMPONENTNAME

In this sample it would be:
http://DAHOST:8581/typecatalog/components/Partition

Confirm the Version change and the presence of the new ItemSyncDefinition entry. 

6. Launch a full synchronization of the DA Data Source (DS) to synchronize the new Component element types to CAPC. Note this can take some time to complete. Be sure to allow 30-45 minutes in larger environments for the full synchronization to complete. In large production environments this may be best launched at the end of the day when user access is lowest.

To request the full synchronization for the DA DS:
6A. Log in to the CAPC Web UI as the admin user or user with the Administrator Role assigned.
6B. Go to the Adminstration->Data Sources page to display the Manage Data Sources page.
6C. Select the Data Aggregator and select the 'Resync' button.
6D. Select the "Perform a Full Resynchronization" checkbox and selec tthe Resync button.

When completed the Component elements should now show up in the Inventory for Group membership and application to Event  Threshold Rules.
Additional Information:
To request Component Elements are synchronized to CA Performance Center by default or through other methods please submit an Idea post to request new functionality in the product. Idea posts are submitted in the CA Performance Management Community Forum site found here.

https://communities.ca.com/community/performance-management