Related pages:

This page describes the Health Rule API methods you can use to create, configure, update, and delete health rules for multiple applications simultaneously. This API allows you to programmatically update and maintain single or multiple health rules and migrate them across applications or Controllers.

  • Minimal syntax validation of the JSON payload is done when creating the health rule.
  • Path validation for a specified metric is not done. Ensure that you provide valid paths for all the metrics you define.
  • If metrics are not resolved during the health rule evaluation, the health rule attains an unknown (?) state. Ensure that you provide valid metrics for all the affected entities you define.

Create a Health Rule

Creates a new health rule from the specified JSON payload. See Property Details

Resource URL

POST <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules

Request/Response Format

JSON

Example

This example creates a health rule with an affected entity type business transaction performance and defines the evaluation criteria for the health rule. See Download Examples

{
  "name": "My new health rule",
  "enabled": true,
  "useDataFromLastNMinutes": 30,
  "waitTimeAfterViolation": 5,
  "affects": {
    "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
    "affectedBusinessTransactions": {
      "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
    }
  },
  "evalCriterias": {
    "criticalCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evaluateToTrueOnNoData": false,
          "evalDetail": {
            "evalDetailType": "SINGLE_METRIC",
            "metricAggregateFunction": "VALUE",
            "metricPath": "Average CPU Used (ms)",
            "metricEvalDetail": {
              "metricEvalDetailType": "BASELINE_TYPE",
              "baselineCondition": "WITHIN_BASELINE",
              "baselineName": "All Data - Last 15 Days",
              "baselineUnit": "PERCENTAGE",
              "compareValue": 30.5
            }
          }
        }
      ]
    },
    "warningCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evalDetail": {
            "evalDetailType": "METRIC_EXPRESSION",
            "metricExpression": "({metric1} + ({metric2} * 3))",
            "metricExpressionVariables": [
              {
                "variableName": "metric1",
                "metricAggregateFunction": "VALUE",
                "metricPath": "95th Percentile Response Time (ms)"
              },
              {
                "variableName": "metric2",
                "metricAggregateFunction": "MAXIMUM",
                "metricPath": "Average CPU Used (ms)"
              }
            ],
            "metricEvalDetail": {
              "metricEvalDetailType": "SPECIFIC_TYPE",
              "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
              "compareValue": 10
            }
          }
        }
      ]
    }
  }
}
YML
{
    "id": 26,
    "name": "My new health rule",
    "enabled": false,
    "useDataFromLastNMinutes": 30,
    "waitTimeAfterViolation": 5,
    "scheduleName": "Weeknights: 11pm-6am, Mon-Fri",
    "affects": {
        "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
        "affectedBusinessTransactions": {
            "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
        }
    },
    "evalCriterias": {
        "criticalCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "SINGLE_METRIC",
                        "metricAggregateFunction": "VALUE",
                        "metricPath": "Average CPU Used (ms)",
                        "metricEvalDetail": {
                            "metricEvalDetailType": "BASELINE_TYPE",
                            "baselineCondition": "WITHIN_BASELINE",
                            "baselineName": "All data - Last 15 days",
                            "compareValue": 30.5,
                            "baselineUnit": "PERCENTAGE"
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        },
        "warningCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "METRIC_EXPRESSION",
                        "metricExpression": "({metric1} + ({metric2} * 3))",
                        "metricExpressionVariables": [
                            {
                                "variableName": "metric1",
                                "metricAggregateFunction": "VALUE",
                                "metricPath": "95th Percentile Response Time (ms)"
                            },
                            {
                                "variableName": "metric2",
                                "metricAggregateFunction": "MAXIMUM",
                                "metricPath": "Average CPU Used (ms)"
                            }
                        ],
                        "metricEvalDetail": {
                            "metricEvalDetailType": "SPECIFIC_TYPE",
                            "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
                            "compareValue": 10
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        }
    }
}
YML


Retrieve a List of Health Rules for an Application

This API returns a list of all the health rule IDs and names for the specified application ID. To retrieve complete details of the health rule, use GET //health-rule/{health-rule-id}. See Property Details

Resource URL

GET <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules

Response Format

JSON

Example Response

[
    {
        "id": 1,
        "name": "Machine Availability is too low",
        "enabled": true
    },
    {
        "id": 2,
        "name": "Overall Disk Space Available is too low",
        "enabled": true
    },
    {
        "id": 3,
        "name": "CPU Usage is too high",
        "enabled": true
    },
    {
        "id": 4,
        "name": "Memory Usage is too high",
        "enabled": true
    },
    {
        "id": 5,
        "name": "Swap Usage is too high",
        "enabled": true
    },
    {
        "id": 6,
        "name": "Disk Usage is too high on at least one partition",
        "enabled": false
    }
]
YML


Retrieve Details of a Specified Health Rule

This API Returns the health rule details for the specified health rule ID.


JMX Health Rules are not supported.

Resource URL

GET <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules/{health-rule-id}

Response Format

JSON

Example Response

{
    "id": 26,
    "name": "My new health rule",
    "enabled": true,
    "useDataFromLastNMinutes": 30,
    "waitTimeAfterViolation": 5,
    "scheduleName": "Always",
    "affects": {
        "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
        "affectedBusinessTransactions": {
            "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
        }
    },
    "evalCriterias": {
        "criticalCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "SINGLE_METRIC",
                        "metricAggregateFunction": "VALUE",
                        "metricPath": "Average CPU Used (ms)",
                        "metricEvalDetail": {
                            "metricEvalDetailType": "BASELINE_TYPE",
                            "baselineCondition": "WITHIN_BASELINE",
                            "baselineName": "All data - Last 15 days",
                            "compareValue": 30.5,
                            "baselineUnit": "PERCENTAGE"
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        },
        "warningCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "METRIC_EXPRESSION",
                        "metricExpression": "({metric1} + ({metric2} * 3))",
                        "metricExpressionVariables": [
                            {
                                "variableName": "metric1",
                                "metricAggregateFunction": "VALUE",
                                "metricPath": "95th Percentile Response Time (ms)"
                            },
                            {
                                "variableName": "metric2",
                                "metricAggregateFunction": "MAXIMUM",
                                "metricPath": "Average CPU Used (ms)"
                            }
                        ],
                        "metricEvalDetail": {
                            "metricEvalDetailType": "SPECIFIC_TYPE",
                            "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
                            "compareValue": 10
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        }
    }
}
YML


Update a Health Rule

This API updates an existing health rule (required fields) with details from the specified health rule ID. See Property Details

Resource URL

PUT <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules/{health-rule-id}

Request/Response Format

JSON

Example

{
  "name": "My new health rule",
  "enabled": true,
  "useDataFromLastNMinutes": 30,
  "waitTimeAfterViolation": 5,
  "affects": {
    "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
    "affectedBusinessTransactions": {
      "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
    }
  },
  "evalCriterias": {
    "criticalCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evaluateToTrueOnNoData": false,
          "evalDetail": {
            "evalDetailType": "SINGLE_METRIC",
            "metricAggregateFunction": "VALUE",
            "metricPath": "Average CPU Used (ms)",
            "metricEvalDetail": {
              "metricEvalDetailType": "BASELINE_TYPE",
              "baselineCondition": "WITHIN_BASELINE",
              "baselineName": "All Data - Last 15 Days",
              "baselineUnit": "PERCENTAGE",
              "compareValue": 30.5
            }
          }
        }
      ]
    },
    "warningCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evalDetail": {
            "evalDetailType": "METRIC_EXPRESSION",
            "metricExpression": "({metric1} + ({metric2} * 3))",
            "metricExpressionVariables": [
              {
                "variableName": "metric1",
                "metricAggregateFunction": "VALUE",
                "metricPath": "95th Percentile Response Time (ms)"
              },
              {
                "variableName": "metric2",
                "metricAggregateFunction": "MAXIMUM",
                "metricPath": "Average CPU Used (ms)"
              }
            ],
            "metricEvalDetail": {
              "metricEvalDetailType": "SPECIFIC_TYPE",
              "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
              "compareValue": 10
            }
          }
        }
      ]
    }
  }
}
YML
{
  "name": "My new health rule",
  "enabled": true,
  "useDataFromLastNMinutes": 30,
  "waitTimeAfterViolation": 5,
  "affects": {
    "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
    "affectedBusinessTransactions": {
      "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
    }
  },
  "evalCriterias": {
    "criticalCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evaluateToTrueOnNoData": false,
          "evalDetail": {
            "evalDetailType": "SINGLE_METRIC",
            "metricAggregateFunction": "VALUE",
            "metricPath": "Average CPU Used (ms)",
            "metricEvalDetail": {
              "metricEvalDetailType": "BASELINE_TYPE",
              "baselineCondition": "WITHIN_BASELINE",
              "baselineName": "All Data - Last 15 Days",
              "baselineUnit": "PERCENTAGE",
              "compareValue": 30.5
            }
          }
        }
      ]
    },
    "warningCriteria": {
      "conditionAggregationType": "ALL",
      "conditions": [
        {
          "name": "Condition 1",
          "shortName": "A",
          "evalDetail": {
            "evalDetailType": "METRIC_EXPRESSION",
            "metricExpression": "({metric1} + ({metric2} * 3))",
            "metricExpressionVariables": [
              {
                "variableName": "metric1",
                "metricAggregateFunction": "VALUE",
                "metricPath": "95th Percentile Response Time (ms)"
              },
              {
                "variableName": "metric2",
                "metricAggregateFunction": "MAXIMUM",
                "metricPath": "Average CPU Used (ms)"
              }
            ],
            "metricEvalDetail": {
              "metricEvalDetailType": "SPECIFIC_TYPE",
              "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
              "compareValue": 10
            }
          }
        }
      ]
    }
  }
}
YML


Delete a Health Rule

Deletes an existing health rule with the specified ID.

Resource URL

DELETE <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules/{health-rule-id}

Update a Health Rule Configuration

This API updates one or more configuration setting(s) of a health rule. See Property Details

You can enter one or both of the following field(s) in the request:

  • Enable/disable the health rule.
  • Update the schedule of the health rule.

Resource URL

PUT <controller_url>/controller/alerting/rest/v1/applications/<application_id>/health-rules/{health-rule-id}/configuration

Request/Response Format

JSON

Example

{
  "enabled": "false",
  "scheduleName": "Weeknights: 11pm-6am, Mon-Fri"
}
YML
{
    "id": 26,
    "name": "My new health rule",
    "enabled": false,
    "useDataFromLastNMinutes": 30,
    "waitTimeAfterViolation": 5,
    "scheduleName": "Weeknights: 11pm-6am, Mon-Fri",
    "affects": {
        "affectedEntityType": "BUSINESS_TRANSACTION_PERFORMANCE",
        "affectedBusinessTransactions": {
            "businessTransactionScope": "ALL_BUSINESS_TRANSACTIONS"
        }
    },
    "evalCriterias": {
        "criticalCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "SINGLE_METRIC",
                        "metricAggregateFunction": "VALUE",
                        "metricPath": "Average CPU Used (ms)",
                        "metricEvalDetail": {
                            "metricEvalDetailType": "BASELINE_TYPE",
                            "baselineCondition": "WITHIN_BASELINE",
                            "baselineName": "All data - Last 15 days",
                            "compareValue": 30.5,
                            "baselineUnit": "PERCENTAGE"
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        },
        "warningCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "METRIC_EXPRESSION",
                        "metricExpression": "({metric1} + ({metric2} * 3))",
                        "metricExpressionVariables": [
                            {
                                "variableName": "metric1",
                                "metricAggregateFunction": "VALUE",
                                "metricPath": "95th Percentile Response Time (ms)"
                            },
                            {
                                "variableName": "metric2",
                                "metricAggregateFunction": "MAXIMUM",
                                "metricPath": "Average CPU Used (ms)"
                            }
                        ],
                        "metricEvalDetail": {
                            "metricEvalDetailType": "SPECIFIC_TYPE",
                            "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
                            "compareValue": 10
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 0
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        }
    }
}
YML

Response Codes

CodeDescription
200Fetched successfully
201Created successfully
204Deleted successfully
400Bad request
401Unauthorized
403Forbidden
404Resource not found
409Already exists

Property Details

HealthRule

Property Name

Type and Valid Values

Description

id integer

Auto-generated by the system and returned in the response.

It is a readOnly value.

name

string

Minimum length: 1

Name of the health rule.


enabled

boolean

Default value: true

Sets the health rule to enabled/disabled state. A health rule is evaluated only if it is in enabled state.


useDataFromLastNMinutes

integer

Minimum value: 1

Maximum value: 360

The time interval (in minutes) during which the data collected is considered for health rule evaluation. Enter a value between 1 to 9 or a multiple of 10 that is less than 360.


waitTimeAfterViolation

integer

Minimum time: 1 minute

The wait time after a violation in minutes.


scheduleName

string

Default option: Always

Name of schedule to be associated with the health rule for evaluation.


affects*

Describes entities affected by the health rule. For example, business transactions, servers, or databases.

Affects

Property

TypeEnums
affectedEntityType
string

OVERALL_APPLICATION_PERFORMANCE

BUSINESS_TRANSACTION_PERFORMANCE

TIER_NODE_TRANSACTION_PERFORMANCE

TIER_NODE_HARDWARE

SERVERS_IN_APPLICATION

BACKENDS

ERRORS

SERVICE_ENDPOINTS

INFORMATION_POINTS

CUSTOM

DATABASES

SERVERS

evalCriterias*

Defines a condition or a set of conditions (maximum of 8) expressed as a boolean expression to evaluate the health rule. Depending on affectedEntityType a condition may or may not contain evalMatchingCriteria. Conditions are classified as:

Critical conditions are evaluated before warning conditions. If you have defined a critical condition and a warning condition in the same health rule, the warning condition is evaluated only if the critical condition is not true.

Property

DescriptionType/Enums
conditionAggregationType

Condition evaluation criteria that constitute a health rule violation.

String

default: ALL

Enums

ALL

ANY

CUSTOM

conditionExpression


Use only when you set the conditionAggregationType variable to CUSTOM. Use the ShortName of the condition to define the boolean expression.

String

minLength: 1

conditions*


A single condition that can be evaluated independently to true or false.

OR

A list of conditions (maximum of 8) along with other properties to form a criteria.


String

minItems: 1

Condition

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The condition evaluates to unknown by default when no data is returned. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*



Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggersIf you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30
evalMatchingCriteriaThe criteria for evaluating a condition for the following health rule types:
  • Business Transaction 
  • Node health-hardware
  • Node health-transaction performance

It defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

NodeEvalMatchingCriteria

PropertyDescriptionType/Enums
matchType

The evaluation scope type that defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType.

String

Enums

AVERAGE

ANY_NODE

PERCENTAGE_NODES
NUMBER_OF_NODES

value

The number or percentage of nodes that must violate the condition to constitute a health rule violation. If you select NUMBER_OF_NODES, enter an integer. If you select PERCENTAGE_NODES, enter a number.

number

minimum: 0

If you have defined a critical condition and a warning condition in the same health rule, the warning condition is evaluated only if the critical condition is not true.

Property

DescriptionType/Enums
conditionAggregationType

Condition evaluation criteria that constitute a health rule violation.

String

default: ALL

Enums

ALL

ANY

CUSTOM

conditionExpression


Use only when you set the conditionAggregationType variable to CUSTOM. Use the ShortName of the condition to define the boolean expression.

String

minLength: 1

conditions*


A single condition that can be evaluated independently to true or false. OR

A list of conditions (maximum of 8) along with other properties to form a criteria.


String

minItems: 1

Condition

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The default when no data is returned is for the condition to evaluate to unknown. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*



Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggers
If you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30
evalMatchingCriteriaThe criteria for evaluating a condition for the following health rule types:
  • Business Transaction 
  • Node health-hardware
  • Node health-transaction performance

It defines how many nodes in the affected entities must violate the condition before the health rule is considered to violate.

NodeEvalMatchingCriteria

PropertyDescriptionType/Enums
matchType

The evaluation scope type that defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType.

String

Enums

AVERAGE

ANY_NODE

PERCENTAGE_NODES
NUMBER_OF_NODES

value

The number or percentage of nodes that must violate the condition to constitute a health rule violation. If you select NUMBER_OF_NODES, enter an integer. If you select PERCENTAGE_NODES, enter a number.

number

minimum: 0





HealthRuleSummaryArray

PropertyType
id*integer
name

string

minLength: 1

enabled*boolean

HealthRuleConfiguration

The configuration details of a health rule that you can update individually without the need to send the complete health rule JSON payload. You can mention one or more properties and all those properties are set to the new specified values.

PropertyType
enabledboolean
scheduleName

string

MetricEvalDetail

PropertyTypeEnums
metricEvalDetailType*

string

BASELINE_TYPE

SPECIFIC_TYPE

BaselineMetricEvalDetail

The deviation of a metric from the baseline used to evaluate the health rule.

PropertyTypeEnums
metricEvalDetailType*

string

BASELINE_TYPE

SPECIFIC_TYPE

baselineCondition*string

WITHIN_BASELINE

NOT_WITHIN_BASELINE

GREATER_THAN_BASELINE

LESS_THAN_BASELINE

baselineName*

string

minLength: 1


compareValue*

number

minimum: 0


baselineUnit*string

STANDARD_DEVIATIONS

PERCENTAGE

SpecificValueMetricEvalDetail

The deviation of a metric from a specific value used to evaluate the health rule.

PropertyTypeEnums
metricEvalDetailType*

string

BASELINE_TYPE

SPECIFIC_TYPE

compareCondition*string

GREATER_THAN_SPECIFIC_VALUE

LESS_THAN_SPECIFIC_VALUE

compareValue*

number

minimum: 0


MetricAggregateFunction

Metrics aggregated to determine the deviation and evaluate the health rule.

PropertyTypeEnums

MetricAggregateFunction*

string

MINIMUM

MAXIMUM

VALUE

SUM

COUNT

CURRENT

GROUP_COUNT

SingleMetricEvalDetail

The deviation of a single metric from the aggregated value used to evaluate the health rule.

PropertyTypeEnums

evalDetailType*

string

SINGLE_METRIC

METRIC_EXPRESSION

metricAggregateFunction*string

MINIMUM

MAXIMUM

VALUE

SUM

COUNT

CURRENT

GROUP_COUNT

metricPath*

string

minLength: 1


metricEvalDetail*string

BASELINE_TYPE

SPECIFIC_TYPE

MetricExpressionEvalDetail

The metric expression used to evaluate the health rule.

PropertyTypeEnums

evalDetailType*

string

SINGLE_METRIC

METRIC_EXPRESSION

metricExpression*

string

minLength: 1


metricExpressionVariables*

string

minItems: 1

MetricDetailWithVariableName

PropertyTypeEnums
variableName*

string

minLength: 1


metricAggregateFunction*string

MINIMUM

MAXIMUM

VALUE

SUM

COUNT

CURRENT

GROUP_COUNT

metricPath*

string

minLength: 1


metricEvalDetail*string

SpecificValueMetricEvalDetail

PropertyTypeEnums
metricEvalDetailType*

string

BASELINE_TYPE

SPECIFIC_TYPE

compareCondition*string

GREATER_THAN_SPECIFIC_VALUE

LESS_THAN_SPECIFIC_VALUE

compareValue*

number

minimum: 0


MetricDetailWithVariableName

PropertyTypeEnums
variableName*

string

minLength: 1


metricAggregateFunction*string

MINIMUM

MAXIMUM

VALUE

SUM

COUNT

CURRENT

GROUP_COUNT

metricPath*

string

minLength: 1


NodeEvalMatchingCriteria

PropertyTypeEnums
matchType

string

AVERAGE

ANY_NODE

PERCENTAGE_NODES

NUMBER_OF_NODES

value

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType. If you select NUMBER_OF_NODES, enter an integer; else if you select PERCENTAGE_NODES, enter a number.

number

minimum: 0


Condition

A single condition that can be independently evaluated to true or false. List of conditions (maximum 8) along with other properties form a criteria.

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The condition evaluates to unknown by default when no data is returned. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*


Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggersIf you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION


Criteria

Property

DescriptionType/Enums
conditionAggregationType

Condition evaluation criteria that constitute a health rule violation.

string

default: ALL

Enums

ALL

ANY

CUSTOM

conditionExpression


Use only when you set the conditionAggregationType variable to CUSTOM. Use the ShortName of the condition to define the boolean expression.

String

minLength: 1

conditions*



A single condition that can be evaluated independently to true or false. OR

A list of conditions (maximum of 8) along with other properties to form a criteria.


String

minItems: 1

Condition

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The default when no data is returned is for the condition to evaluate to unknown. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*


Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggers
If you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30
evalMatchingCriteriaThe criteria for evaluating a condition for the following health rule types:
  • Business Transaction 
  • Node health-hardware
  • Node health-transaction performance

It defines how many nodes in the affected entities must violate the condition before the health rule is considered to violate.

NodeEvalMatchingCriteria

PropertyDescriptionType/Enums
matchType

The evaluation scope type that defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType.

String

Enums

AVERAGE

ANY_NODE

PERCENTAGE_NODES
NUMBER_OF_NODES

value

The number or percentage of nodes that must violate the condition to constitute a health rule violation. If you select NUMBER_OF_NODES, enter an integer. If you select PERCENTAGE_NODES, enter a number.

number

minimum: 0

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

AffectedTiers

PropertyTypeEnums
affectedTierScope*string

ALL_TIERS

SPECIFIC_TIERS

AllTiers

The scope of affected tiers is set to all tiers for an affected entity.

PropertyTypeEnums
affectedTierScope*string

ALL_TIERS

SPECIFIC_TIERS

SpecificTiers

The scope of affected tiers is set to specific tiers for an affected entity.

PropertyTypeEnums
affectedTierScope*string

ALL_TIERS

SPECIFIC_TIERS

tiers*

string

minItems: 1


AffectedNodes

PropertyTypeEnums
affectedNodeScope*string

ALL_NODES

SPECIFIC_NODES

NODES_OF_SPECIFIC_TIERS

NODES_MATCHING_PATTERN

NODE_PROPERTY_VARIABLE_MATCHER 

AllNodes

The scope of affected nodes is set to all nodes for an affected entity.

PropertyTypeEnums
affectedNodeScope*string

ALL_NODES 

SpecificNodes

The scope of affected nodes is set to all nodes for an affected entity.

PropertyTypeEnums
affectedNodeScope*string

SPECIFIC_NODES 

nodes*

string

minItems: 1


NodesOfSpecificTiers

The scope of affected nodes is set to nodes of specific tiers for an affected entity.

PropertyTypeEnums
affectedNodeScope*string

NODES_OF_SPECIFIC_TIERS

specificTiers*

string

minItems: 1


NodesMatchingPattern

The scope of affected nodes is set to nodes matching a pattern for an affected entity.

PropertyTypeEnums
affectedNodeScope*string

NODES_MATCHING_PATTERN

patternMatcher*

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean


NodePropertyVariableMatcher

The scope of affected nodes is set to nodes matching a variable property for an affected entity.

PropertyTypeEnums
affectedNodeScope*string

NODE_PROPERTY_VARIABLE_MATCHER 

propVarPairs*

array

minItems: 1

PropertyTypeEnums
propertyTypestring

META

ENV

JVM

name

string

minLength: 1


value

string

minLength: 1


OverallApplicationPerformance

The scope of the affected entity is set to overall application performance.

PropertyTypeEnums
affectedEntityType*string

OVERALL_APPLICATION_PERFORMANCE

BusinessTransactionPerformance

The scope of the affected entity is set to business transaction performance.

PropertyTypeEnums
affectedEntityType*string

BUSINESS_TRANSACTION_PERFORMANCE

affectedBusinessTransactions*string

AffectedBusinessTransactions

PropertyTypeEnums
businessTransactionScope*string

ALL_BUSINESS_TRANSACTIONS

SPECIFIC_BUSINESS_TRANSACTIONS

BUSINESS_TRANSACTIONS_IN_SPECIFIC_TIERS

BUSINESS_TRANSACTIONS_MATCHING_PATTERN


AffectedBusinessTransactions

PropertyTypeEnums
businessTransactionScope*string

ALL_BUSINESS_TRANSACTIONS

SPECIFIC_BUSINESS_TRANSACTIONS

BUSINESS_TRANSACTIONS_IN_SPECIFIC_TIERS

BUSINESS_TRANSACTIONS_MATCHING_PATTERN

AllBusinessTransactions

The scope of business transactions is set to all business transactions.

PropertyTypeEnums
businessTransactionScope*string

ALL_BUSINESS_TRANSACTIONS

SpecificBusinessTransactions

The scope of business transactions is set to specific business transactions.

PropertyTypeEnums
businessTransactionScope*string

SPECIFIC_BUSINESS_TRANSACTIONS

businessTransactions*

string

minItems: 1


BusinessTransactionsInSpecificTiers

The scope of business transactions is set to business transactions for specific tiers.

PropertyTypeEnums
businessTransactionScope*string

BUSINESS_TRANSACTIONS_IN_SPECIFIC_TIERS


specificTiers*

string

minItems: 1


BusinessTransactionsMatchingPattern

The scope of business transactions is set to business transactions matching a certain pattern.

PropertyTypeEnums
businessTransactionScope*string

BUSINESS_TRANSACTIONS_MATCHING_PATTERN

specificTiers*

string

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

TierNodeTransactionPerformance

The type of affected entities is set to the performance of tier and node transactions.

PropertyTypeEnums
affectedEntityType*string

TIER_NODE_TRANSACTION_PERFORMANCE

affectedEntities*string

AffectedTierOrNodeEntities

PropertyTypeEnums
tierOrNode*string

TIER_AFFECTED_ENTITIES

NODE_AFFECTED_ENTITIES


AffectedTierOrNodeEntities

PropertyTypeEnums
tierOrNode*string

TIER_AFFECTED_ENTITIES

NODE_AFFECTED_ENTITIES

TierAffectedEntities

The scope of affected entities is set to tiers.

PropertyTypeEnums
tierOrNode*string

TIER_AFFECTED_ENTITIES

NODE_AFFECTED_ENTITIES

affectedTiers*string

AffectedTiers

PropertyTypeEnums
affectedTierScope*string

ALL_TIERS

SPECIFIC_TIERS

NodeAffectedEntities

The scope of affected entities is set to nodes.

PropertyTypeEnums
tierOrNode*string

TIER_AFFECTED_ENTITIES

NODE_AFFECTED_ENTITIES

typeofNode*string

ALL_NODES

JAVA_NODES

DOT_NET_NODES

PHP_NODES

affectedNodes*string

AffectedNodes

PropertyTypeEnums
affectedNodeScope*string

ALL_NODES

SPECIFIC_NODES

NODES_OF_SPECIFIC_TIERS

NODES_MATCHING_PATTERN

NODE_PROPERTY_VARIABLE_MATCHER


TierNodeHardware

The affected entity type is set to tier node hardware.

PropertyTypeEnums
affectedEntityType*string

TIER_NODE_HARDWARE

affectedEntities*string

AffectedTierOrNodeEntities

PropertyTypeEnums
tierOrNode*string

TIER_AFFECTED_ENTITIES

NODE_AFFECTED_ENTITIES

ServersInApplication

The affected entity type is set to servers in the application.

PropertyTypeEnums
affectedEntityType*string

SERVERS_IN_APPLICATION

affectedServers*string

ApplicationAffectedServers

PropertyTypeEnums
serversScope*string

ALL_SERVERS_IN_APPLICATION

SPECIFIC_SERVERS_IN_APPLICATION

ALL_SERVERS_IN_SPECIFIC_TIERS


ApplicationAffectedServers

PropertyTypeEnums
serversScope*string

ALL_SERVERS_IN_APPLICATION

SPECIFIC_SERVERS_IN_APPLICATION

ALL_SERVERS_IN_SPECIFIC_TIERS

AllServersInApplication

The scope of servers is set to all servers in the application.

PropertyTypeEnums
serversScope*string

ALL_SERVERS_IN_APPLICATION

SpecificServersInApplication

The scope of servers is set to specific servers in the application.

PropertyTypeEnums
serversScope*string

SPECIFIC_SERVERS_IN_APPLICATION

specificServers*

string

minLength: 1


AllServersInSpecificTiers

The scope of servers is set to all servers in specific tiers.

PropertyTypeEnums
serversScope*string

ALL_SERVERS_IN_SPECIFIC_TIERS

specificTiers*

string

minItems: 1


Backends

The affected entity type is set to backends.

PropertyTypeEnums
affectedEntityType*string

BACKENDS

affectedBackends*string

AffectedBackends

PropertyTypeEnums
backendScope*string

ALL_BACKENDS

SPECIFIC_BACKENDS

BACKENDS_MATCHING_PATTERN 


AffectedBackends

PropertyTypeEnums
backendScope*string

ALL_BACKENDS

SPECIFIC_BACKENDS

BACKENDS_MATCHING_PATTERN

AllBackends

The scope of backends is set to all backends.

PropertyTypeEnums
backendScope*string

ALL_BACKENDS

SpecificBackends

The scope of backends is set to specific backends.

PropertyTypeEnums
backendScope*string

SPECIFIC_BACKENDS

backends*

string

minItems: 1


BackendsMatchingPattern

The scope of backends is set to backends matching a specific pattern.

PropertyTypeEnums
backendScope*string

BACKENDS_MATCHING_PATTERN

patternMatcher*

string

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

Errors

The affected entity type is set to errors.

PropertyTypeEnums
affectedEntityType*string

ERRORS

affectedErrors*string

AffectedErrors

PropertyTypeEnums
errorScope*string

ALL_ERRORS

SPECIFIC_ERRORS

ERRORS_OF_SPECIFIC_TIERS

ERRORS_MATCHING_PATTERN


AffectedErrors

PropertyTypeEnums
errorScope*string

ALL_ERRORS

SPECIFIC_ERRORS

ERRORS_OF_SPECIFIC_TIERS

ERRORS_MATCHING_PATTERN

AllErrors

The scope of errors is set to all errors.

PropertyTypeEnums
errorScope*string

ALL_ERRORS

SpecificErrors

The scope of errors is set to specific errors.

PropertyTypeDescription/Enums
errorScope*string

SPECIFIC_ERRORS

errors*

string

minItems: 1


tiers

string

minItems: 1

Use if error names belong to multiple tiers. Provide the tier names as a list in affects.affectedErrors.tiers in the same order as the error names. In the following example, 'Page Not Found: 404' corresponds to Tier1, while 'Error2' corresponds to SomeOtherTier.

  • If the error names are unique to each tier, tiers map errors one to one. You need not specify the tier name in this case.
  • If errors have same name but belong to different tiers, duplicate names are handled by appending tier names with the delimiter '|'.
  • If there is a mismatch between the number of error names and tier names, then the list affects.affectedErrors.tiers is ignored.
  • If an error belongs to multiple tiers, and you do not specify the tier names, the error name cannot be uniquely identified. Hence, an error is displayed.
{
    "id": 33,
    "name": "Specific Error",
    "enabled": true,
    "useDataFromLastNMinutes": 1,
    "waitTimeAfterViolation": 1,
    "scheduleName": "Always",
    "affects": {
        "affectedEntityType": "ERRORS",
        "affectedErrors": {
            "errorScope": "SPECIFIC_ERRORS",
            "errors": [
                "Page Not Found : 404", "Error2"
            ],
            "tiers": [
                "Tier1", "SomeOtherTier"
            ]
        }
    },
    "evalCriterias": {
        "criticalCriteria": {
            "conditionAggregationType": "ALL",
            "conditionExpression": null,
            "conditions": [
                {
                    "name": "Condition 1",
                    "shortName": "A",
                    "evaluateToTrueOnNoData": false,
                    "evalDetail": {
                        "evalDetailType": "SINGLE_METRIC",
                        "metricAggregateFunction": "VALUE",
                        "metricPath": "Errors per Minute",
                        "metricEvalDetail": {
                            "metricEvalDetailType": "SPECIFIC_TYPE",
                            "compareCondition": "GREATER_THAN_SPECIFIC_VALUE",
                            "compareValue": 10
                        }
                    },
                    "triggerEnabled": false,
                    "minimumTriggers": 1
                }
            ],
            "evalMatchingCriteria": {
                "matchType": "ANY_NODE",
                "value": null
            }
        },
        "warningCriteria": null
    }
}
YML

ErrorsOfSpecificTiers

The scope of errors is set to errors related to specific tiers.

PropertyTypeEnums
errorScope*string

ERRORS_OF_SPECIFIC_TIERS

specificTiers*

string

minItems: 1


ErrorsMatchingPattern

The scope of errors is set to errors matching a specific pattern.

PropertyTypeEnums
errorScope*string

ERRORS_MATCHING_PATTERN

patternMatcherstring

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

ServiceEndpoints

The affected entity type is set to service endpoints.

PropertyTypeEnums
affectedEntityType*string

SERVICE_ENDPOINTS

affectedServiceEndpoints*

AffectedServiceEndpoints

PropertyTypeEnums
serviceEndpointScope*string

ALL_SERVICE_ENDPOINTS

SPECIFIC_SERVICE_ENDPOINTS

SERVICE_ENDPOINTS_IN_SPECIFIC_TIERS

SERVICE_ENDPOINTS_MATCHING_PATTERN


AffectedServiceEndpoints

PropertyTypeEnums
serviceEndpointScope*string

ALL_SERVICE_ENDPOINTS

SPECIFIC_SERVICE_ENDPOINTS

SERVICE_ENDPOINTS_IN_SPECIFIC_TIERS

SERVICE_ENDPOINTS_MATCHING_PATTERN

AllServiceEndpoints

The scope of service endpoints is set to all service endpoints.

PropertyTypeEnums
serviceEndpointScope*string

ALL_SERVICE_ENDPOINTS

SpecificServiceEndpoints

The scope of service endpoints is set to specific service endpoints.

PropertyTypeEnums
serviceEndpointScope*string

SPECIFIC_SERVICE_ENDPOINTS

serviceEndpoints*

string

minItems: 1


ServiceEndpointsInSpecificTiers

The scope of service endpoints is set to specific service endpoints.

PropertyTypeEnums
serviceEndpointScope*string

SERVICE_ENDPOINTS_IN_SPECIFIC_TIERS

specificTiers*

string

minItems: 1


ServiceEndpointsMatchingPattern

The scope of service endpoints is set to service endpoints that match a specific pattern.

PropertyTypeEnums
serviceEndpointScope*string

SERVICE_ENDPOINTS_MATCHING_PATTERN

patternMatcher*

string

minItems: 1

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

InformationPoints

The affected entity type is set to information points.

PropertyTypeEnums
affectedEntityType*string

INFORMATION_POINTS

affectedInformationPoints*string

AffectedInformationPoints

PropertyTypeEnums
informationPointScope*string

ALL_INFORMATION_POINTS

SPECIFIC_INFORMATION_POINTS

INFORMATION_POINTS_MATCHING_PATTERN


AffectedInformationPoints

PropertyTypeEnums
informationPointScope*string

ALL_INFORMATION_POINTS

SPECIFIC_INFORMATION_POINTS

INFORMATION_POINTS_MATCHING_PATTERN

AllInformationPoints

The scope of information points is set to all information points.

PropertyTypeEnums
informationPointScope*string

ALL_INFORMATION_POINTS

SpecificInformationPoints

The scope of information points is set to specific information points.

PropertyTypeEnums
informationPointScope*string

SPECIFIC_INFORMATION_POINTS

informationPoints*

string

minItems: 1


InformationPointsMatchingPattern

The scope of information points is set to information points matching a pattern.

PropertyTypeEnums
informationPointScope*string

INFORMATION_POINTS_MATCHING_PATTERN

patternMatcher*

string

minItems: 1

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean

Custom

The affected entity type is set to custom.

PropertyTypeEnums
affectedEntityType*string

CUSTOM

affectedEntityScope*string

AffectedEntityScope

PropertyTypeEnums
entityScope*string

APPLICATION_PERFORMANCE

SPECIFIC_ENTITY_PERFORMANCE


AffectedEntityScope

PropertyTypeEnums
entityScope*string

APPLICATION_PERFORMANCE

SPECIFIC_ENTITY_PERFORMANCE

ApplicationPerformance

The scope of the affected entity is set to application performance.

PropertyTypeEnums
entityScope*string

APPLICATION_PERFORMANCE

SpecificEntityPerformance

The scope of the affected entity is set to specific entity performance.

PropertyTypeEnums
entityScope*string

SPECIFIC_ENTITY_PERFORMANCE

entityType*string

BUSINESS_TRANSACTION

NODE

SERVER

affectedEntityName*

string

minLength: 1


Databases

The affected entity type is set to databases.

PropertyTypeEnums
affectedEntityType*string

DATABASES

databaseType*string

ALL_DATABASE_TYPES

COUCHBASE

DB2

MONGO_DB

MICROSOFT_SQL_SERVER

MYSQL

ORACLE

POSTGRE_SQL

AZURE_SQL

SYBASE

affectedDatabases*string

AffectedDatabases

PropertyTypeEnums
databaseScopestring

ALL_DATABASES

SPECIFIC_DATABASES

AffectedDatabases

PropertyTypeEnums
databaseScope*string

ALL_DATABASES

SPECIFIC_DATABASES

AllDatabases

The scope of affected databases is set to all databases.

PropertyTypeEnums
databaseScope*string

ALL_DATABASES

SpecificDatabases

The scope of affected databases is set to specific databases.

PropertyTypeEnums
databaseScope*string

SPECIFIC_DATABASES

databases*

string

minItems: 1

DbServer

PropertyType
serverName*

string

minLength: 1

collectorConfigName*

string

minLength: 1

DbServer

PropertyType
serverName*

string

minLength: 1

collectorConfigName*

string

minLength: 1

Servers

The affected entity type is set to servers.

PropertyTypeEnums
affectedEntityType*string

SERVERS

serverSelectionCriteria*string

AffectedServersCriteria

PropertyTypeEnums
selectServersBy*string

AFFECTED_SERVER_SUBGROUPS

AFFECTED_SERVERS

AffectedServersCriteria

PropertyTypeEnums
selectServersBy*string

AFFECTED_SERVER_SUBGROUPS

AFFECTED_SERVERS

AffectedServers

PropertyTypeEnums
selectServersBy*string

AFFECTED_SERVER_SUBGROUPS

AFFECTED_SERVERS

affectedServers*string

ServerSelectionCriteria

PropertyTypeEnums
severSelectionScope*string

ALL_SERVERS_IN_ACCOUNT

SERVERS_WITHIN_SUBGROUP

SPECIFIC_SERVERS

SERVERS_MATCHING_PATTERN

ServerSelectionCriteria

PropertyTypeEnums
severSelectionScope*string

ALL_SERVERS_IN_ACCOUNT

SERVERS_WITHIN_SUBGROUP

SPECIFIC_SERVERS

SERVERS_MATCHING_PATTERN

AllServersInAccount

The scope of servers is set to all servers within an account.

PropertyTypeEnums
severSelectionScope*string

ALL_SERVERS_IN_ACCOUNT

ServersWithinSubGroup

The scope of servers is set to all servers within a subgroup.

PropertyTypeEnums
severSelectionScope*string

SERVERS_WITHIN_SUBGROUP

subGroups*

string

minItems: 1


SpecificServers

The scope of servers is set to specific servers.

PropertyTypeEnums
severSelectionScope*string

SPECIFIC_SERVERS

servers*

string

minItems: 1


ServersMatchingPattern

The scope of servers is set to servers matching a specific pattern.

PropertyTypeEnums
severSelectionScope*string

SERVERS_MATCHING_PATTERN

patternMatcher*

EntityMatchingPattern

PropertyTypeEnums
matchTo*string

STARTS_WITH

ENDS_WITH

CONTAINS

EQUALS

MATCH_REG_EX

matchValue*

string

minLength: 1


shouldNotboolean


AffectedServerSubGroups

The scope of affected servers is set to affected servers within a subgroup.

PropertyTypeEnums
selectServersBy*string

AFFECTED_SERVER_SUBGROUPS

subGroups*

string

minItems: 1

AffectedSubGroups

PropertyTypeEnums
subGroupScope*string

ALL_SUBGROUPS

SPECIFIC_SERVER_SUB_GROUPS


AffectedSubGroups

PropertyTypeEnums
subGroupScope*string

ALL_SUBGROUPS

SPECIFIC_SERVER_SUB_GROUPS

AllSubGroups

The scope of affected servers is set to servers within all subgroups. 

PropertyTypeEnums
subGroupScope*string

ALL_SUBGROUPS

SpecificServerSubGroups

The scope of affected servers is set to servers within specific subgroups.

PropertyTypeEnums
subGroupScope*string

SPECIFIC_SERVER_SUB_GROUPS

subGroupNames

string

minItems: 1


Affects

Describes what entities the health rule affects. For example, business transactions, servers, or databases.

PropertyTypeEnums

affectedEntityType*

string

OVERALL_APPLICATION_PERFORMANCE

BUSINESS_TRANSACTION_PERFORMANCE

TIER_NODE_TRANSACTION_PERFORMANCE

TIER_NODE_HARDWARE

SERVERS_IN_APPLICATION

BACKENDS

ERRORS

SERVICE_ENDPOINTS

INFORMATION_POINTS

CUSTOM

DATABASES

SERVERS

EvalCriterias

Property

Type/Enums
criticalCriteria

Criteria

Critical conditions are evaluated before warning conditions. If you have defined a critical condition and a warning condition in the same health rule, the warning condition is evaluated only if the critical condition is not true.

Property

DescriptionType/Enums
conditionAggregationType

Condition evaluation criteria that constitute a health rule violation.

String

default: ALL

Enums

ALL

ANY

CUSTOM

conditionExpression


Use only when you set the conditionAggregationType variable to CUSTOM. Use the ShortName of the condition to define the boolean expression.

String

minLength: 1

conditions*

A single condition that can be evaluated independently to true or false. OR

A list of conditions (maximum of 8) along with other properties to form a criteria.


String

minItems: 1

Condition

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The default when no data is returned is for the condition to evaluate to unknown. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*



Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggersIf you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30
evalMatchingCriteria
The criteria for evaluating a condition for the following health rule types:
  • Business Transaction 
  • Node health-hardware
  • Node health-transaction performance

It defines how many nodes in the affected entities must violate the condition before the health rule is considered to violate.

NodeEvalMatchingCriteria

PropertyType/EnumsDescription
matchType

String

Enums

AVERAGE

ANY_NODE

PERCENTAGE_NODES
NUMBER_OF_NODES

The evaluation scope type that defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType.

value
The number or percentage of nodes that must violate the condition to constitute a health rule violation. If you select NUMBER_OF_NODES, enter an integer. If you select PERCENTAGE_NODES, enter a number.
warningCriteria

Criteria

If you have defined a critical condition and a warning condition in the same health rule, the warning condition is evaluated only if the critical condition is not true.

Property

DescriptionType/Enums
conditionAggregationType

Condition evaluation criteria that constitute a health rule violation.

String

default: ALL

Enums

ALL

ANY

CUSTOM

conditionExpression


Use only when you set the conditionAggregationType variable to CUSTOM. Use the ShortName of the condition to define the boolean expression.

String

minLength: 1

conditions*

A single condition that can be evaluated independently to true or false. OR

A list of conditions (maximum of 8) along with other properties to form a criteria.


String

minItems: 1

Condition

PropertyDescriptionType/Enums
name*Name of the condition.string
shortname*A short name used in conditionExpression to evaluate CUSTOM conditionType.

string

pattern: ^[A-Z]{1,3}$

Enums

A

B

C

D

E

F

G

H

evaluateToTrueOnNoDataControls the evaluation of the condition in cases where any metric on which the condition is based, returns no data. The default when no data is returned is for the condition to evaluate to unknown. If the health rule is based on all the conditions evaluating to true, having no data returned may affect whether the health rule triggers an action.

boolean

default: false

evalDetail*


Details of metric(s) considered for evaluation of the condition. Use SINGLE_METRIC to evaluate a single metric. Use METRIC_EXPRESSION to evaluate a metric expression.

ConditionEvalDetail

PropertyTypeEnums
evalDetailTypestring

SINGLE_METRIC

METRIC_EXPRESSION

triggerEnabledIf set to true, the value in field minimumTriggers is considered for evaluation.

boolean

default: false

minimumTriggersIf you set a non-zero value, persistence thresholds are considered when evaluating the conditions. Ensure that you define a value less than useDataFromLastNMinutes.integer
default: 0
minimum: 0
maximum: 30
evalMatchingCriteria
The criteria for evaluating a condition for the following health rule types:
  • Business Transaction 
  • Node health-hardware
  • Node health-transaction performance

It defines how many nodes in the affected entities must violate the condition before the health rule is considered to violate.

NodeEvalMatchingCriteria

PropertyDescriptionType/Enums
matchType

The evaluation scope type that defines how many nodes in the affected entities must violate the condition before the health rule is considered violated.

Enter the matching criteria only when you select PERCENTAGE_NODES or NUMBER_OF_NODES as matchType.

String

Enums

AVERAGE

ANY_NODE

PERCENTAGE_NODES
NUMBER_OF_NODES

value

The number or percentage of nodes that must violate the condition to constitute a health rule violation. If you select NUMBER_OF_NODES, enter an integer. If you select PERCENTAGE_NODES, enter a number.

HealthRuleSummary

PropertyType
id*integer
namestring
enabled*boolean

ErrorResponse

PropertyType
statusCodeinteger
messagestring

*This property is required (mandatory).

Download Examples

Download a set of examples that help you configure a health rule, health_rule_request_examples.zip.

Download Swagger YAML spec

Download the Swagger YAML spec health_rule_openapi.yml.