Create an attribute group from two other attribute groups.
About this task
Joining attribute groups is most useful when the agent
collects data from two different types of data sources. For example,
the agent might collect data WMI and PerfMon, or SNMP and script data
sources. Each set of attributes might be more useful when used together
in one Tivoli® Enterprise
Portal view.
For example, assume that your attribute groups
are defined as follows:
First_Attribute_Group
index integer
trafficRate integer
errorCount integer
Second_Attribute_Group
index2 integer
name string
traffic string
One definition provides you with
counters (like Perfmon) and the other provides you with identification
information. Neither attribute group is useful to you by itself. However,
if you can combine both attribute groups by using the index to match
the appropriate rows from each, you have a more useful attribute group.
You can use the combined attribute group to display the name, type,
and metrics together.
This same mechanism can be used to add
tags to information collected through normal attribute groups. The
information can then be more easily correlated in an event system
when a problem is detected. For example, a company wants to manage
all its servers by collecting common data and by using common situations
to monitor the health of the servers. It also wants to be able to
identify the servers with more information that tells it what application
is running on a particular server. It wants to have control of the
values that are used on each server, but it does not want to create
different agents for each application. It can accomplish this control
by creating an additional attribute group in its single agent as follows:
Application_Information
application_type integer
application_name string
application_group string
This attribute group would
be defined as a script attribute group that gathers its values from
agent configuration. You can specify different values for each agent
instance and use one agent to manage all of their systems. This attribute
group would then be joined to all the source attribute groups where
this application information might be needed. The information is then
available in the Tivoli Enterprise
Portal, situations, events, and warehoused data.
When you join
two attribute groups, a third attribute group is created. This attribute
group contains all the attributes that are contained within the source
attribute groups.
The results of a join operation vary depending
on the number of rows that each source attribute group supports. If
both attribute groups are defined to return only a single row of data,
then the resulting joined attribute group has one row of data. The
single row contains all attributes from both source attribute groups.
Table 1. source attribute group one (single row)
| Attribute1 |
Attribute2 |
Attribute3 |
| 16 |
some text |
35 |
Table 2. source attribute group 2 (single row)
| Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| 5001 |
more data |
56 |
35 |
Table 3. Resulting join
| Attribute1 |
Attribute2 |
Attribute3 |
Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| 16 |
some text |
35 |
5001 |
more data |
56 |
35 |
Suppose that one source attribute group is defined
to return only one row (single-row) while the other can return more
than one row (multi-row). The resulting joined attribute group contains
the same number of rows as the multi-row source attribute group.
The data from the single-row attribute group is added to each row
of the multi-row attribute group.
Table 4. source attribute
group one (single row)
| Attribute1 |
Attribute2 |
Attribute3 |
| 16 |
some text |
35 |
Table 5. source attribute group two (more than one row)
| Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| user1 |
path1 |
56 |
35 |
| user2 |
path2 |
27 |
54 |
| user3 |
path3 |
44 |
32 |
Table 6. Resulting join
| Attribute1 |
Attribute2 |
Attribute3 |
Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| 16 |
some text |
35 |
user1 |
path1 |
56 |
35 |
| 16 |
some text |
35 |
user2 |
path2 |
27 |
54 |
| 16 |
some text |
35 |
user3 |
path3 |
44 |
32 |
Finally, assume that both source attribute
groups are defined to return more than one row. You must identify
an attribute from each of the source attribute groups on which to
join. The resulting attribute group contains data rows where the attribute
value in the first attribute group matches the attribute value from
the second attribute group.
Table 7. source attribute group one
(more than 1 row)
| Attribute1 |
Attribute2 |
Attribute3 |
| 16 |
some text |
35 |
| 27 |
more text |
54 |
| 39 |
another string |
66 |
Table 8. source attribute group 2 (more than 1 row)
| Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| user1 |
path1 |
56 |
35 |
| user2 |
path2 |
27 |
54 |
| user3 |
path3 |
44 |
32 |
Table 9. Resulting join (joining on Attribute3 and Attribute7)
| Attribute1 |
Attribute2 |
Attribute3 |
Attribute4 |
Attribute5 |
Attribute6 |
Attribute7 |
| 16 |
some text |
35 |
user1 |
path1 |
56 |
35 |
| 27 |
more text |
54 |
user2 |
path2 |
27 |
54 |
With Agent Builder, you can also join user-defined
attribute groups to the Availability attribute group if there are
any availability filters defined in your agent. For more information
about the data that is contained in the Availability attribute group,
see (Availability node).
You
can create this type of attribute group by accessing the menu on the
data sources tree by right-clicking and then selecting Join Attribute Groups.