Platform definition JSON file structure
Use the following tables to understand the entity-level structure of a platform definition JSON file to be used in the BMC - TrueSight Operations Management 10.1 Generic extractor.
Note
In the following tables:
- Source means entity defined at TrueSight Operations Management
- Destination means entity defined at TrueSight Capacity Optimization
Entity types and discovery methods
Entity type | Discovery method | Explanation with example | Example JSON file extract |
---|---|---|---|
DEVICEENTITYTYPE | Discovering devices where the parents of the devices are monitored by a PATROL Agent. In this case, DEVICEENTITYTYPE can be used for identification. | AIX host DEVICEENTITYTYPE is set to “IBM.MG_SYS.Host” when Hence, AIX host can be discovered by searching for | "src_identification": { "src_identification_type": "src_identification_value": |
Discovering devices that are related to a device (Device-to-Device discovery): In this case, any INSTANCE information between a parent and a child device is not shared. Hence, this relationship is used when there is no INSTANCE present between a parent | LPAR (Device) to WPAR (Device). In this case, WPARs for a given LPAR will be discovered using DEVICEENTITYTYPE of children having value | "src_identification": { "src_identification_type": "src_identification_value": | |
MONITORTYPE | Discovering instances related to a device (Device-to-Instance discovery) | AIX host (Device) to Pool (Instance) by traversing the instances In this case, the pool for AIX host will be discovered by | "src_identification": { "src_identification_type": "src_identification_value": |
Discovering devices related to specific instances (Instance-to Device-discovery) | To get SPLPARs under Pool. In this case, SPLPARs under Pool of AIX host will be discovered by discovering instance of type PATROL__LP_CONT that has children instances of monitor type _PATROL__LPAR for a given Pool. | "src_identification": { "src_identification_type": "src_identification_value": | |
Discovering devices under specific instance under specific device (Device-to-Instance-to-Device discovery) | To get dedicated partitions under AIX host. In this case, dedicated partitions for AIX host will be discovered by discovering instance of type _PATROL__MG_SYS that has a child instance of monitor type _PATROL__LP_CONT with instance name “Dedicated Partitions” that have instances of monitor type _PATROL__LPAR. | "src_identification": { "src_identification_type": "src_identification_value": | |
CONFIGDATA |
| AIX LPARs when HMC is not monitored, its DEVICEENTITYTYPE In this case, Stand-alone LPARs (LPARs whose parent, AIX host/HMC, is not monitored by a PATROL Agent) will be discovered by using CONFIGDATA from monitor type "_PATROL__UNIX_OS", that has a value "IBM.LPAR.HOST" for metric "ENTITYTYPE". | "src_identification": { "src_identification_type": "src_identification_value": "src_monitor_type": "src_identification_metric": |
High-level structure of the JSON file
Attribute | Description | Example |
---|---|---|
“type” | Defines the type of platform for the JSON | The following attribute-value pair suggests that this JSON file is for “AIX” platform: "type": "AIX" |
“entities”:{} | Defines the entities to be discovered for the platform. Each entity defines the way it is discovered, its lookup, its children entities, and its key for metric definition | This example shows that the entity type being fetched is “AIX HOST”. Also, the key used to define metrics for this entity in the "metrics" section is "metric_configuration_key". "entities": { "AIX HOST": { ................ "metric_configuration_key": ................ } } |
“metrics”: { “basic_metrics” “derived_metrics” “aggregated_metrics” } | Defines the metrics to be discovered for each entity with a key as defined in the "entities" attribute. The following categories of metrics are defined: Basic; Derived; Aggregated | "metrics": { "AIX HOST METRICS": { "basic_metrics": [ { } ], "derived_metrics": [ { } ], "aggregated_metrics":[ { } ] } } Here, the key "AIX HOST METRICS" defines the basic, derived, and aggregated metrics for AIX host. |
Attributes for "entities" section for an entity
Attribute | Description | Example |
---|---|---|
“dst_ent_type” | Defines the Destination entity type | "dst_ent_type": "vh:lp" ENTITYTYPE in Destination is “vh:lp”, which corresponds to AIX host |
"dst_ent_cat" | Defines the Destination entity category | "dst_ent_cat": "SYS" Entity category in Destination is SYS |
“src_ent_cat” | Defines the Source entity category - DEVICE or INSTANCE | “src_ent_cat”: ”DEVICE” AIX host is DEVICE. AIX pool is an INSTANCE. |
"dst_top_level_entity” | Defines whether the entity being fetched is a top level entity for Destination. This top-level entity is represented under the root domain in the Destination. The JSON file starts discovery with the top-level entity that is followed by discovering children, grand-children, and so on, and the same hierarchy is represented on the Destination. Ensure that the JSON file has at least one entity with this flag set as true. If this attribute is not specified, the default value for this attribute is false. | "dst_top_level_entity": true |
"dst_discover_independently” | Defines whether this entity must be discovered independently. After the top-level entities, its children, and grandchildren are discovered, entities with this flag are discovered. These entities have not been already discovered and will be represented under the root domain. This attribute is optional. If this attribute is not specified, the default value is false. | "dst_discover_independently”: true The flow of discovering top-level entity for AIX platform is as follows: AIX host with children such as Pool, LPARs that will discover LPARs for whom HMC is monitored. For example. for discovering Standalone LPARs that are not discovered as children of AIX HOST. |
"metric_configuration_key" | Defines metrics for the entity under the “metrics” section of the JSON file | "metric_configuration_key": "AIX HOST METRICS" Metrics for this entity will be available within the “AIX HOST METRICS” section of the “metrics” section. |
"src_identification": { "src_identification_type" "src_identification_value" "src_monitor_type" "src_identification_metric” } | Defines the following attributes on the Source:
Consider the following attributes only when the value of "src_identification_type" is CONFIGDATA:
| See Entity types and discovery methods. |
“lookup” | Defines the lookup attributes that are used on Destination. For attribute details, see Attributes for "lookup" section. | “lookup": [ { } ] |
“children” | Defines children entities for the entity under consideration. For attribute details, see Attributes for "children" section. | "children": [ { } ] |
Attributes for "lookup" section
Attribute | Description | Example |
---|---|---|
“lookup”: [ { "type" "fields": [ { "dst_field" } ] "mapping": [ { "dst_field" "src_field" } ] } ] |
| This example defines STRONG lookup for an entity in the Destination. The entity under consideration has lookup fields:
When “src_ent_cat” is DEVICE, possible values that can be used for "src_field" are:
When “src_ent_cat” is INSTANCE, a possible value that can be used for "src_field" is "monInstName”. "lookup": [ { “type”: “STRONG” "fields": [ { "dst_field": "TOKEN_ID" }, { "dst_field": "HOSTNAME" } ], "mapping": [ { "dst_field": "TOKEN_ID", "src_field": "tokenId" }, { "dst_field": "HOSTNAME", "src_field": "dnsname" } ] } ] |
Attributes for "children" section
Attribute | Description | Example |
---|---|---|
"children": [ { “entity_key” "dst_relation_type } ] |
| For the “AIX HOST” entity, AIX POOL and AIX LPAR children are defined: "children": [ { "entity_key": "AIX POOL", "dst_relation_type": "RP_CONTAINS_GM", }, { "entity_key": "AIX LPAR", "dst_relation_type": "VH_CONTAINS_GM", } ] |
Attributes for "basic_metrics" section
Attribute | Description | Example |
---|---|---|
“basic_metrics”: [ { "src_monitor_type" "src_monitor_data_type" "dst_subobject_mapping" "filter_condition": { "filter_type" "src_metric_name" "src_metric_value" } "metrics": [ { "dst_metric" "src_metric" "formula" “available_for_other_ “populate_dst_metric” } ] } ] |
| In this example, metrics from CPU and FILESYSTEM monitor types are fetched for LPAR. For FILESYSTEM metrics: the imported metrics are BY metrics, "dst_subobject_mapping" is required and maps to "monInstName", which is the monitor instance name on Source. Also, to exclude some file systems, a filter_condition is specified. “basic_metrics” : [ { "src_monitor_type": "src_monitor_data_type": “perf”,
"metrics": [ { "dst_metric": "CPU_UTIL", "src_metric": "CPUCPUUTIL", "formula": "CPUCPUUTIL/100" }, { "dst_metric": "CPU_ENT_UTIL", "src_metric": "CPUENTLUTIL", "formula": "CPUENTLUTIL/100" } ] }, { "src_monitor_type": "src_monitor_data_type": “perf”, "dst_subobject_mapping":”monInstName”, "filter_condition": { "filter_type": "exclude", "src_metric_name": "FILESYSTEMTYPE", "src_metric_value": "NFS | NFS2| } "metrics": [ { "dst_metric": "BYFS_USED_SPACE_PCT", "src_metric": "FSCAPACITY", "formula": "FSCAPACITY/100" }, { "dst_metric": "BYFS_FREE", "src_metric": "FSAVAILABLESPACEMB", "formula": "available_for_other_metric_computation": true }, ] } ] |
Attributes for "derived_metrics" section
Attribute | Description | Example |
---|---|---|
"derived_metrics": [ { "dst_metric" "formula" "formula_variables": [ { variable }, ] } ] |
| In this example, derived metric for AIX LPAR is defined. The BYFS_SIZE metric is derived by addition of BYFS_USED and BYFS_FREE metrics. "derived_metrics": [ { "dst_metric": "BYFS_SIZE", "formula": "BYFS_USED+BYFS_FREE", "formula_variables": [ { variable: "BYFS_USED" }, { variable: "BYFS_FREE" } ] } ] |
Attributes for "aggregated_metrics" section
Attribute | Description | Example |
---|---|---|
“aggregated_metrics”: [ { "dst_metric": "formula": "formula_variables": [ { "variable": "computation": { "use_associated_entity" "operation” "input_metric" } } ] } ] |
| Example 1: In this example, two aggregated metrics for AIX LPAR/SPLPAR are defined.
For both these examples, "use_associated_entity" is unspecified because the computation for metric is for LPAR entity using LPAR entity, which means the operation is performed on itself. The "input_metric" under consideration has subobjects and hence, "process_subobjects" is specified as true. "aggregated_metrics": [ { "dst_metric": "TOTAL_FS_UTIL", "formula": "sum_of_lpar_byfs_used/ sum_of_lpar_byfs_size", "formula_variables": [ { "variable": "sum_of_lpar_byfs_used", "computation": { "process_subobjects": true, "operation": "SUM", "input_metric": "BYFS_USED" } }, { "variable": "sum_of_lpar_byfs_size", "computation": { "process_subobjects": true, "operation": "SUM", "input_metric": "BYFS_SIZE" } } ] }, { "dst_metric": "DISK_UTIL_PEAK", "formula": "max_of_lpar_bydisk_util", "formula_variables": [ { "variable":"max_of_lpar_bydisk_util", "computation": { "process_subobjects": true, "operation": "MAX", "input_metric": "BYDISK_UTIL" } } ] } ] Example 2: In this example. three aggregated metrics for AIX HOST are defined.
"aggregated_metrics": [ { "dst_metric": "GM_NUM", "formula": "lpar_gm_num_count", "formula_variables": [ { "variable": "lpar_gm_num_count", "computation": { "use_associated_entity": "gm:lp|gm:splp", "operation": "COUNT" } } ] }, { "dst_metric": "CPU_MODEL", "formula": "lpar_cpu_model", "formula_variables": [ { "variable": "lpar_cpu_model", "computation": { "use_associated_entity": "gm:lp|gm:splp", "operation": "COPY_ONE_ENTITY", "input_metric": "CPU_MODEL" } } ] }, { "dst_metric": "BYLP_CPU_UTIL", "formula": "lpar_cpu_util", "formula_variables": [ { "variable": "lpar_cpu_util", "computation": { "use_associated_entity": "gm:lp|gm:splp", "operation": "COPY_ALL_ENTITIES", "input_metric": "CPU_UTIL", "dst_subobject_mapping": "dnsname" } } ] } ] |
Comments