This topic describes the detailed steps for configuring health rules using the health rule wizard.
Access the Health Rule Wizard
Click Alert & Respond->Health Rules.
- To edit an existing health rule, in the left panel of the health rule list, select the health rule and click the pencil icon.
- To create a new health rule, click the plus icon.
The Structure of the Health Rule Wizard
The health rule wizard contains four panels:
- Overview: Sets the health rule name, enabled status, health rule type, health rule enabled period, and health rule evaluation time.
- Affects: Sets the entities evaluated by the health rule. The options presented vary according to the health rule type set in the Overview panel.
- Critical Condition: Sets the conditions, whether all or any of the conditions need to be true for a health rule violation to exist, and the evaluation scope (BT and node health policies defined at the tier level only); it also includes an expression builder to create complex expressions containing multiple metrics.
- Warning Condition: Settings are identical to Critical Condition, but configured separately.
You can navigate among these panels using the Back and Next buttons at the bottom of each panel or by clicking their entries in the left panel of the wizard. You should configure the panels in order, because the configuration of the health rule type in the Overview panel determines the available affected entities in the Affects panel as well as the available metrics in the Condition panels.
The basic health rule wizard uses some short cuts to define the most commonly use health rules. If you need to set up rules that are outside of that set you should use the Custom Health Rule Types method or the Hybrid method.
Using the Basic Health Rules Wizard
Most of the time you should use the basic health rules wizard to set up your health rules.
Configure Generic Heath Rule Settings for the Basic Health Rule Wizard
You configure generic settings for your health rules in the Overview panel.
- Set a name. If a name already exists, you can change it if you like.
- f you want the health rule in an enabled state (the default), check Enabled. Clear to disable.
- Select a health rule type by clicking on the name in the list.
This setting affects metrics offered for configuration in subsequent panels in the basic wizard, so you must select a health rule type before continuing to other panels. If none of the predefined health rule types are applicable for your needs, you need to use the Custom method or the Hybrid method.
- If the health rule is always (24/7) enabled, check the Always check box.
If the health rule is enabled only at certain times, clear the Always check box and either:
- Select a predefined time interval from the drop-down menu
Click Create New Schedule
The Create Schedule window opens. See To Create a New Health Rule Schedule.
The time is the time at the site of the controller, not the app agent. For example, if the enabled time is set to 5pm-6pm, Mon-Fri and the controller is in San Francisco but the app agent is in Dubai, the health rule engine uses San Francisco time.
Click the dropdown menu Use the last <> minutes of data and select a value between 1 and 360 minutes for the evaluation window. This is the amount of recent data to use to determine whether a health rule violation exists. This value applies to both critical and warning conditions. See Health Rule Evaluation Window.
In the Wait Time after Violation section, enter the number of minutes to wait before evaluating the rule again for the same affected entity in which the violation occurred. See Health Rule Wait Time After Violation.
To Create a New Health Rule Schedule
- In the Overview window of the Health Wizard, clear the Always check box if it is checked.
- Click Create New Schedule.
Enter a name for the schedule.
- Enter an optional description of the schedule.
- Enter the start and end times for the schedule. For example, this configuration starts the rule at 6:00 and ends it at 15:00 every Monday-Friday.
- Click Next.
Once a new health rule schedule has been created, it cannot be modified or deleted.
Configure Affected Entities for the Basic Health Rules Wizard
The Affects panel lets you define which thing your health rule affects. These things are called entities. For example, a business transaction, a node or set of nodes, or an information point are all entities. The choices you are offered depends on the health rule type you chose in the Overview panel. In this case, the health rule type selected affects Tiers or Nodes.
- Use the dropdown menu to select the the entities affected by this health rule.
The entity affected and the choices presented in the menu depend on the health rule type configured in the Overview window.
See Entities Affected by a Health Rule for information about the types of entities that can be affected by the various health rule types.
- If you select entities based on matching criteria, specify the matching criteria.
- If you are configuring a JMX health rule, select the JMX objects that the health rule is evaluated on.
- Click Next.
Configure Health Rule Conditions for the Basic Health Rules Wizard
The high-level process for configuring conditions is:
- Determine the number and kind of metrics the health rule should evaluate. For each performance metric you want to use, create a condition.
- You can use a single condition component or multiple condition components for a single condition state.
- You can use values based on complex mathematical expressions.
- Decide whether the health rule is violated if all of the tests are true or if any single test is true.
- For business transaction performance health rules and node health rule types that specify affected entities at the tier level, decide how many of the nodes must be violating the health rule to produce a violation event. See Health Rule Evaluation Scope.
- To configure a critical condition use the Critical Condition window. To configure a warning condition use the Warning Condition window.
The configuration processes for critical and warning conditions are identical.
You can copy the settings between Critical and Warning condition panels and just edit the fields you desire. For example, if you have already defined a critical condition and you want to create a warning condition that is similar, in the Warning Condition window click Copy from Critical Condition to populate the fields with settings from the Critical condition.
To Create a Condition
- In the Critical Condition or Warning Condition window, click + Add Condition to add a new condition component.
The row defining the component opens. See To Configure a Condition Component. Continue to add components to the condition as needed.
- From the drop-down menu above the components, select All if all of the components must evaluate to true to constitute violation of the rule. Select Any if a health rule violation exists if any single component is true.
- For health rules based on the following health rule types:
you must specify evaluation scope
- business transaction
- node health-hardware
- node health-transaction performance
If the Health Rule will violate if the conditions above evaluate to true section is visible, click the appropriate radio button to set the evaluation scope.
If you select percentage of nodes, enter the percentage. If you select number of nodes, enter the absolute number of nodes.
To Configure a Condition Component
- In the first field of the condition row, name the condition.
This name is used in the generated notification text and in the AppDynamics console to identify the violation.
- To select the metric on which the condition is based, do one of the following:
- To specify a simple metric, click the metric icon to open a small metric browser.
The browser display metrics appropriate to the health rule type. Select the metric to monitor and click Select Metric.
The selected metric appears in the configuration.
- To build an expression using multiple metric values, click the gear icon at the end of the row and select Use a mathematical expression of 2 or more metric values.
This opens the mathematical expression builder where you can construct the expression to use as the metric. See To Build an Expression.
From the Value drop-down menu before the metric, select the qualifier to apply to the metric from the following options:
What This Means
The minimum value reported across the configured evaluation time length. Not all metrics have this type.
The maximum value reported across the configured evaluation time length. Not all metrics have this type.
The arithmetic average of all metric values reported across the configured evaluation time length.
The sum of all the metric values reported across the configured evaluation time length.
The number of times the metric value has been measured across the configured evaluation time length.
The value for the current minute.
4. From the drop-down menu after the metric, select the type of comparison by which the metric is evaluated.
To limit the effect of the health rule to conditions during which the metric is within a defined distance (standard deviations or percentages) from the baseline, select Within Baseline from the menu.To limit the effect of the health rule to when the metric is NOT within that defined distance, select Not Within Baseline. Then select the baseline to use, the numeric qualifier of the unit of evaluation and the unit of evaluation. For example:
Within Baseline of the Default Baseline by 3 Baseline Standard Deviations
To compare the metric with a static literal value, select < Specific value or > Specific Value from the menu, then enter the specific value in the text field. For example:
Value of Errors per Minute > 100
To compare the metric with a baseline, select < Baseline or > Baseline from the drop-down menu, and then select the baseline to use, the numeric qualifier of the unit of evaluation and the unit of evaluation. For example:
Maximum of Average Response Time is > Baseline of the Daily Trend by 3 Baseline Standard Deviations
See Baselines and Periodic Trends for information about the baseline options.
The "baseline percentage" is the percentage above or below the established baseline at which the condition will be triggered. If, for example, you have a baseline value of 850 and you have defined a baseline percentage of "> 1%", then the condition should trigger if the value is > [850+(850x0.01)] or 859. In addition, in order to prevent too small sample sets from triggering health rules violations, these rules are not evaluated if the load (the number of times the value has been measured) is less than 1000. So if, for example, a very brief time slice is specified, the rule may not violate even if the conditions are met, simply because the load is not large enough.
Remember to click Save.
Using Health Rule Conditions to evaluate agent availability metrics can result in false positives. For example:
You can avoid occasional 1-2 minute metric loss due to network issues or late arrival by configuring your Health Rule as follows:
- Use the last 5 minutes, with a wait time of 10 minutes.
- Select Node Health as the Type.
- Select Agent|App|Availability or Machine Availability (for machine agent) as the Business Transaction Metric.
- Set your condition to be the Sum of < Specific Value of 3.
This will generate a violation when the agent is down for more than 2 minutes in the last 5 mins.
To Remove a Condition Component
You can remove a component condition by clicking the delete icon.
To Build an Expression
To access the expression builder to create a complex expression as the basis of a condition, click the gear icon at the end of the row and select Use a mathematical expression of 2 or more metric values.
In the expression builder, use the Expression pane to construct the expression.
Use the Variable Declaration pane to define variables based on metrics to use in the expression. For example, this is a metric to measure the percent of slow business transactions.
- In Variable Declaration pane of the Mathematical Expression builder, click + Add variable to add a variable.
- In the Variable Name field enter a name for the variable.
- Click Select a metric to open a small metric browser
- From the drop-down menu select the qualifier for the metric.
- Repeat steps 1 through 4 for each metric that you will use in the expression.
You can remove a variable by clicking the delete icon.
- Build the expression by clicking the Insert Variable button to insert variables created in the Variable Declaration pane.
- When the expression is built, click Use Expression.
Using the Custom Health Rule Types Method
The procedure for using the Custom health rule type option in the health rules wizard is very similar to using the basic health rules wizard. Use this procedure if you want to create a health rule for a single entity based on a custom metric.
- In the Overview section, select Custom (use any metrics) in the Type field.
- In the Affects section, select the kind of entity that the health rule affects: Business Transaction Performance, Node Performance, or Application Performance.
- If the health rule affects Business Transaction Performance:
- Select the Business Transaction performance radio button
- Select the Business Transaction affected from the drop-down menu. You can use the search field in the Select a Business Transaction browser that opens to locate the specific Business Transaction.
- If the health rule affects Node Performance:
- Select the Node Performance radio button.
- Click Node (for new configuration) or Change (to modify an existing configuration).
- In the Node browser that opens, navigate to the node which you want the health rule to affect.
- Click Select .
- If the health rule is not specific to a Business Transaction or Node, select Application Performance.
- When you go on to Configure Health Rule Conditions for the Basic Health Rules Wizard you will have access to the entire metric browser when you are choosing metrics.
Using the Hybrid Method - Custom Health Rules for Multiple Entities
If you use the Custom Health Rule Types method, you must set up your evaluation conditions on an entity by entity basis. If you want to use the same custom metrics for evaluation across multiple entities, you should use the Specify a Relative Metric Path method when you are setting up your conditions instead.
- In the Overview section, choose the health rule type that covers the kind of entity for which you wish to set up custom rules. So, for example, if you wish to set up a custom rule that applies to all nodes based on Perm Gen usage, select Node Health - Hardware, JVM, CLR as your health rule type.
- Go to the metric browser (Analyze->Metric Browser) and locate the relative path of the metric you wish to add. Right click on the metric and select Copy Full Path.
- In the Affects section, select the correct type of entity. For example, select All Nodes in the Application.
- Go on to Configure Health Rule Conditions in the normal way. When you click to bring up the metric list to use for evaluation, select Specify a Relative Metric Path instead of Specify a Metric from the Metric Tree. Use a cropped value for the metric you located in the metric browser and complete configuring your conditions as usual.
- For all health rule types except Node Health-Hardware, JVM, CLR or Custom, use the metric name alone - for example, Average Wait Time (ms))
- For Node Heath-Hardware, JVM, CLR and Custom health rule types, use everything after the entity, for example, after the Node name. In the example the path would look like this.
Finish configuring your condition as you normally would.
When configuring health rules for business transactions with a very fast average response time (ART), for example 25 ms, using standard deviation as a criterion can cause the health rule to be violated too frequently. This is because a very small increase in response time can represent multiple standard deviations. In this case, consider adding a second condition that sets a minimum ART as a threshold. For example, if you don't want to be notified unless ART is over 50 ms, you could set your threshold as: ART > 2 Standard Deviations and ART > 50 ms.
Similarly, when configuring health rules for calls-per-minute (CPM) metrics, the health rule may never be violated if the condition is using standard deviations, and the resulting value is below zero. In this case, consider adding a second condition that checks for a zero value, such as: CPM < 2 Standard Deviations and CPM < 1.