How Can We Help?

This section will describe the Topology API for adding Group KPIs and KPIs customized for a Standard or Customized components in the Heal.

KPI Group

Performance KPI metrics can be single like CPU and grouped like Disk Space. If you want a KPI to be grouped, create the KPI Group using the KPI-groups API.
API Name – kpi-groups
Format – POST /api/accounts/<account_identifier>/kpi-groups
JSON Format

{ “groupKpiName”: “<Name of the KPI group>”, “groupKpiIdentifier”: “<Identifier of the KPI group>”, “description”: “<Description of the KPI group>”, “kpiType”: “<Type of the KPI>”, “discovery”: “<Mode of discovery>” }

Input Required

NameDescriptionDefault ValuePredefined ValuesMandatoryMore Info
groupKpiNameName of the KPI groupYesName must be unique in the Account
groupKpiIdentifierIdentifier of the KPI groupNoIf you want to auto-generate the identifier by Heal, do not provide this parameter in the JSON.
descriptionDescription of the KPI groupYes
kpiTypeType of the KPICore, Availability, FileWatch, ConfigWatchYes
discoveryMode of discovery00, 1Yes0 – Connection created manually
1 – Connection created by the discovery

Sample JSON

{ “groupKpiName”: “BOOKING_CODES”, “groupKpiIdentifier”: “GROUP_KPI_BOOKING_CODES”, “description”: “This group is created for the booking codes “, “kpiType”: “CORE”, “discovery”: 0 }

Success Rest Response

{ “message”: “Created successfully.”, “responseStatus”: “SUCCESS”, “data”: { “38”: “GROUP_KPI_BOOKING_CODES” } }

Failure Rest Response

In the sample above, provide the groupKpiName as “”, provides the following response.

{ “message”: “Invalid request. Reason: Invalid values for one or more attributes. For more details, refer application log file.”, “responseStatus”: “FAILURE”, }

KPI

Performance Metric KPIs can be added as an individual or with mapping to Group KPI. Component and Category must be predefined before creating an API.
API Name – kpis
Format – POST /api/accounts/<account_identifier>/kpis
JSON Format

{ “kpiName”: “<Name of the KPI>”, “kpiIdentifier”: “<Identifier of the KPI>”, “description”: “<Description of the KPI>”, “kpiType”: “<Type of the KPI>”, “dataType”: “<Data type of the KPI>”, “clusterOperation”: “<Aggregation operation>”, “rollupOperation”: “<Aggregation of clusterOperation>”, “clusterAggregation”: “<Aggregation for rollupOperation at cluster level>”, “instanceAggregation”: “<Aggregation for rollupOperation at component instance level>”, “collectionIntervalSeconds”: “<Duration between KPI data collections>” , “measureUnits”:”<Units of measure>”, “groupKpiIdentifier”:”<Identifier of group KPI>”, “componentName”:”<Identifier of the component>”, “componentVersion”:”<Common version of the component>”, “componentType”: “<Type of the component>”, “categoryName”:”<Name of the category>”, “enableAnalytics”:”<Enable or disable analytics>” }

Input Required

NameDescriptionDefault ValuePredefined ValuesMandatoryMore Info
kpiNameName of the KPIYesName must be unique in the Enterprise
kpiIdentifierIdentifier of the KPINoIf you want to auto-generate the identifier by Heal, do not provide this parameter in the JSON.
descriptionDescription of the KPIYes
kpiTypeType of the KPICore, Availability, FileWatch, ConfigWatchYesUse only Predefiened values.
dataTypeThe data type of the KPIAvailability: Integer
Core: Integer, Float or Text
FileWatch: Text
ConfigWatch: Integer, Float Text
YesUse only Predefiened values.
Text can be upto maximum of 32 characters
clusterOperationAn operation to be applied on the value for this KPI at cluster levelSum, Average or NoneYesUse only Predefiened values.
rollupOperationAn operation to be applied during the Aggregation aka rollupSum, Average, Last, Max or NoneYesUse only Predefiened values.
clusterAggregationFlag to identify what level the operation to be applied, in case of Group KPI at cluster levelSingleValue, MultiValue or NoneYesUse only Predefiened values.
instanceAggregationFlag to identify what level the operation to be applied, in case of Group KPI at the instance levelSingleValue, MultiValue or NoneYesUse only Predefiened values.
collectionIntervalSecondsData collection frequency for the KPI in Seconds60YesValue should be in multiple of 60 only.
measureUnitsUnit in which the KPI is measuredYesProvide the actual unit in which the KPI is collected.
groupKpiIdentifierIdentifier of group KPIYesFetch the right identifier of KPIGroup existing in the Heal database to which the KPI must be mapped to.
componentNameIdentifier of the componentYesFetch the right identifier of Component existing in the Heal database to which the KPI must be mapped to.
componentVersionThe common version of the componentYesProvide the Common Major version of the Component. Example: 8.x, 1.x
componentTypeType of the componentApplication Server, Database Server, Services, WorkloadYesUse only Predefiened values.
categoryNameName of the categoryYesFetch the right identifier of Category existing in the Heal database to which the KPI must be mapped to.
enableAnalyticsEnable or disable analytics0, 1Yes0 – false, 1 – true

Sample JSON

{ “kpiName”: “Coupon_Code”, “description”: “Codes of the Coupon Available”, “groupKpiIdentifier”: “GROUP_KPI_BOOKING_CODES”, “dataType”: “Integer”, “kpiType”: “Core”, “clusterOperation”: “None”, “rollupOperation”: “None”, “instanceAggregation”: “None”, “clusterAggregation”: “None”, “collectionIntervalSeconds”: 120, “measureUnits”: “Number”, “componentName”: “BookingComponent”, “componentType”: “Application Server”, “componentVersion”: “1.1”, “categoryName”: “3aa82ecf-ea46-4c19-9abe-fa23ebe241b9”, “enableAnalytics”: 1 }

 

Success Rest Response

Response for the valid sample above:

{ “message”: “KPI successfully created.”, “responseStatus”: “SUCCESS”, “data”: { “438”: “Coupon_Code-1581066393640” } }

Failure Rest Response

When the Category Name is provided instead of Category Identifier in the sample code, the response is as follows:

{ “message”: “Invalid request. Reason: Invalid values for one or more attributes. For more details, refer application log file.”, “responseStatus”: “FAILURE”, }

Table of Contents