The metrics associated with a health rule are evaluated according to a schedule that you control. You can configure:
- when a health rule is in effect
- which data set should be used, based on time
- what special rules should be in place during a violation event
Time evaluation for health rule schedules is based on the time zone you specify, regardless of the time zone of the Controller.
For schedules created in AppDynamics controller version 4.5.15 or earlier, all schedules are executed based on the controller time zone. For schedules created in version 4.5.16 or later, schedules are executed based on the time zone you specify, irrespective of the controller time zone.
Health Rule Enabled Schedule
By default, health rules are always enabled. You can define schedules for evaluation of the health rules.
Built-in schedules exist for:
- End of business hours
- Weekday lunch
- Weekday mornings
You can also configure custom health rule schedules. The custom schedule allows you to define a time zone specific to your application, independent of the controller time zone. This eliminates the need to adjust the time zone manually if your application is in a separate time zone than that of the controller. For more details, see Create and Manage Health Rule Schedules.
Health Rule Evaluation Time Frame
The health rule evaluation time frame is the period of time over which the data used to evaluate the health rule is collected.
Different kinds of metrics provide better results using different sets of data. You can manage how much data AppDynamics uses when it evaluates a particular health rule by setting the data collection time period. You can define an evaluation time frame between 1 minute to 120 minutes. The default value is 30 minutes. You can select the following values in the Use data from last drop-down:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120
You can define a persistence threshold for a condition only if you have defined the evaluation time frame of 30 mins or less.
Health Rule Wait Time After Violation
The health rule wait time setting lets you control how often an event is generated while the conditions found to violate a health rule continue. If the controller determines that a health rule has been violated, with a status of either Critical or Warning, an Open Critical or Open Warning event is generated. This event is used to trigger any policies that match the health rule, and initiate any actions that the policies require.
Once an Open event has occurred, the controller continues to evaluate the status of the health rule every minute. If the controller continues to detect the same violation, the violation remains open with the same status. A corresponding Continues Critical or Continues Warning event may be generated to link to any related policy.
A Continues event every minute might be too noisy for your health rule. The health rule's Wait Time after Violation setting is used to throttle how often these Continues events are generated for continuing health rule violations. The default is every 30 minutes.
To use Continues Critical and Continues Warning events, adjust the default Wait Time after Violation value to the desired frequency. Then configure a policy matching the health rule with the Health Rule Violation Continues - Warning and/or Health Rule Violation Continues - Critical events selected in the Health Rule Violation Events section of the policy settings.
The violations displayed in the Health Rules Violations page, under Troubleshoot, are updated only when a health rule violation event is triggered.
If the Controller is unable to evaluate the rule—for example, if a node stops reporting—the Evaluation Status of the health rule is marked as a grey question mark or Unknown in the Current Evaluation Status tab in the right panel of the health rules list. The current violation event remains open until the Wait Time after Violation period has elapsed, at which point the violation event is closed and a new event is triggered, causing the Health status itself of the rule to display as Unknown.