5.4 Modifying the Conditions for a Health State

You control the conditions that determine each health state. The green state is intended to represent a healthy driver, and a red state is intended to represent an unhealthy driver.

The conditions for the green state are evaluated first. If the driver fails to meet the green conditions, the yellow conditions are evaluated. If the driver fails to meet the yellow conditions, the driver is automatically assigned a red health state.

To modify the conditions for a state:

  1. Open the Driver Health Configuration page for a driver whose conditions you want to modify.

    For help opening the Driver Health Configuration page, see Step 1 through Step 3.

  2. Click the tab for the state (Green or Yellow) you want to modify.

    The tab displays the current conditions for the health state. Conditions are organized into groups, and logical operators, either AND or OR, are used to combine each condition and each group. Consider the following example for the green state:

    GROUP1
    Condition1 and
    Condition2
    Or
    GROUP2
    Condition1 and
    Condition2 and
    Condition3
    

    In the example, the driver is assigned a green state if either the GROUP1 conditions or the GROUP2 conditions evaluate as true. If neither group of conditions is true, then the conditions for the yellow state are evaluated.

    The conditions that can be evaluated are:

    • Driver State: Running, stopped, starting, not running, or shutting down. For example, one of the default conditions for the green health state is that the driver is running.

    • Driver in Cache Overflow: The state of the cache used for holding driver transactions. If the driver is in cache overflow, all available cache has been used. For example, the default condition for the green health state is that the Driver in Cache Overflow condition is false and the default for the yellow health state is that the Driver in Cache Overflow condition is true.

    • Newest: The age of the newest transaction in the cache.

    • Oldest: The age of the oldest transaction in the cache.

    • Total Size: The size of the cache.

    • Unprocessed Size: The size of all unprocessed transactions in the cache.

    • Unprocessed Transactions: The number of unprocessed transactions in the cache. You can specify all transactions types or specific transaction types (such as adds, removes, or renames).

    • Transactions History: The number of transactions processed at various points in the Subscriber or Publisher channel over a given period of time. This condition uses multiple elements in the following format:

      <transaction type> <transaction location and time period > <relational operator> <transaction number>.

      • <transaction type>: Specifies the type of transaction being evaluated. This can be all transactions, adds, removes, renames, and so forth.

      • <transaction location and time period>: Specifies the place in the Subscriber or Publisher channel and the time period being evaluated. For example, you might evaluate the total number of transactions processed as Publisher reported events over the last 48 hours. By default, transaction history data is kept for two weeks, which means that you cannot specify a time period greater than two weeks unless you change the default Transaction Data Duration setting. This setting is specified on the Driver Health job. See Section 5.3, Modifying the Driver Health Job’s Settings for information about changing the setting.

      • <relational operator>: Specifies that the identified transactions must be equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to the <transaction number>.

      • <transaction number>: Specifies the number of transactions being used in the evaluation.

      The following provides an example of a Transactions History condition:

      <number of adds> <as publisher commands> <over the last 10 minutes> <is less than> <1000>

    • Available History: The amount of transaction history data that is available for evaluation. The primary purpose for this condition is to ensure that a Transactions History condition does not cause the current state to fail because it does not have enough transaction history data collected for the time period being evaluated.

      For example, assume that you want to use the Transactions History condition to evaluate the number of adds as Publisher commands over the last 48 hours (the example shown in the Transactions History section above). However, you don't want the condition to fail if there is not yet 48 hours worth of data, which can be the case after the initial setup of the driver's health configuration or if the driver's server restarts (because transaction history data is kept in memory). Therefore, you create condition groups similar to the following:

      Group1 Available History <is less than> <48 hours> or Group2 Available History <is greater than or equal to> <48 hours> and Transactions History <number of adds> <as publisher commands> <over the last 48 hours> <is less than> <1000>

      The state evaluates to true if either condition group is true, meaning that a) there is less than 48 hours of data, or b) there is at least 48 hours of data and the number of adds as Publisher commands over the last 48 hours is less than 1000.

      The state evaluates to false if both conditions evaluate to false, meaning that a) there is at least 48 hours of data and b) the number of adds as publisher commands over the last 48 hours is greater than 1000.

  3. Modify the criteria as desired.

    • To add a new group, click New Group.

    • To add a condition, click the button next to the group heading.

    • To reorder condition groups or individual conditions, select the check box next to the group or condition you want to move, then click the and buttons to move it up and down. You can also use the and buttons to move a condition from one group to another.

    • To copy condition groups or individual conditions, select the check box next to the group or condition you want to copy, click Edit > Copy selections to clipboard, click the tab for the health state where you want to copy the group or condition, then click Edit > Append items on clipboard. For example, assume that you want to copy a condition from one condition group to another. You would select the condition, copy it to the clipboard, then append it. The condition is added as its own condition group; if desired, use the and buttons to move it into another condition group.

    • To move condition groups or individual conditions, select the check box next to the group or condition you want to move, click Edit > Cut selections to clipboard, click the tab for the health state where you want to move the group or condition, then click Edit > Append items on clipboard. For example, assume that you want to move a condition group from the green health state to the yellow health state. You would select the condition group, cut it to the Clipboard, open the yellow health state, then append it.

  4. Click Apply to save your changes.

  5. If you want to change the actions associated with the conditions you’ve set, continue with Section 5.5, Modifying the Actions for a Health State.