Supervision Service (3.3)
Â
Overview
The Supervision Service uses decision tables, where you can define different actions to be taken depending on which conditions are met; log in System Log, use an overload protection configuration, or generate an event. You can use any MIMs available in the workflow for configuration of conditions, e.g. throughput, queue size, etc.
Â
The Supervision Service is available for real-time workflows and can be configured in the Services tab in the Workflow Properties dialog. The supervision service with action overload can also be manually triggered with mzcli commands, in case it is needed for maintenance or other purposes. If the service is manually triggered, it has to be reverted to automatic mode for the settings in the Services tab to take effect once again.
Configuration of the Supervision Service
To open the configuration for the Supervision Service, open the Workflow Properties dialog in a real-time workflow configuration, click on the Services tab, click on the Add button, select the Supervision option, and click OK.
The configuration for the Supervision service will now appear on the right side of the Services tab.
Â
Setting | Description |
---|---|
Execution Interval (ms) | Enter the time interval, in milliseconds, with which current MIM values should be checked against the conditions in the decision tables. This configuration will be valid for all decision tables. |
Decision Tables | All the decision tables you have configured are listed in this section. Click the Add button to add a new decision table. It may be a good idea to have different decision tables for different purposes. |
Note!
Even though you can change the order of your decision tables, this does not affect the functionality. All decision tables will be applied.
Creating a Decision Table
When you select to add a new decision table, the Add Decision Tables dialog opens.
In this dialogue, you configure your decision table. In a decision table, you determine which action to take depending on which conditions are met. These conditions and actions are configured in separate lists and will then be available for selection in the decision table configuration.
Setting | Description |
---|---|
Decision Table | Enter a name for your decision table in the Name field. |
Table Parameters | Click the buttons Action Lists and Conditions Lists to configure the different conditions and actions for this table. |
Decisions | Each configured condition list will be displayed in the Conditions column. Each of these conditions can be set to either True, False or -. If you want to add more columns to set up different combinations of conditions, you can right-click the Action column heading and select to add more columns. For each column with a condition combination, you can then select which action to take in the drop-down list containing all configured actions. |
Configure your decision tables by following these steps:
Configure conditions. The conditions you configure are based on different MIM parameters having defined values.
Configure actions. When configuring the actions, you can select to have a Supervision event generated, to reject messages, or to log an entry in the System Log. Rejection can be made on all messages or on a certain percentage; 0, 25, 50, or 100 %.
If you are using Diameter or Radius agents in your workflow, you can also select from a range of Diameter and Radius-specific overload protection strategies to only reject specific types of messages. See Diameter(3.3) and Radius(3.3) for further information about these strategies.Â
Create the decision table. Set the conditions to either True, False, or - (which means ignore) and select which action to take.
Set a name.
Click Add. Repeat steps 1 to 4 for all the decision tables you want to create.
Note!
When a condition is evaluated to true, the corresponding action will be performed only once, until any other condition is also evaluated to true. Generally, this means that a minimum of two conditions are required in the decision table.
Configure conditions
To configure conditions:
Setting | Description |
---|---|
Left Operand | Select a MIM parameter that you want to use for your condition in this section. |
Operator list | This is the drop-down list located between the two operands. Select either > (larger than),< (smaller than), == (equals), or != (not equal). |
Right Operand | Select what the selected MIM parameter and operator should match; either another MIM parameter or a constant. |
In the Add Decision Tables dialog, click the Condition Lists button.
Click the Add button to open the Add Conditions dialog.
Click the Add button to add conditions.
In this dialog, select a MIM value for the left operand.
Select an operator.
Enter a constant, or select a MIM value, for the right operand.
Click Add to add the condition to the condition list.
Repeat steps 4 to 7 until you have added all the conditions you want to have in the condition list and then click Close when you are finished.
You will return to the Add Conditions dialog.
Â
Setting | Description |
---|---|
List | Enter a name for the condition list in the Name field. |
Match | Select if you want all the conditions in the list to be matched or if only one condition is required to match by selecting either of the buttons Any of the Following or All of the Following. |
Conditions | This section contains all the different conditions you have added to the list. |
Select if you want to match all conditions in the list, or if you want to match one of the conditions in the list.
Give the list a name and click the Add button to add the condition list in the Create Decision Tables dialog.
Repeat steps 3 to 10 until you have created all the condition lists you want to have and then click Close when you are finished. You will return to the Create Decision Tables dialog.
Configure actions
To configure actions:
In the Add Decision Tables dialog, click the Action Lists button.
Click the Add button to open the Add Actions dialog.
Click the Add button to add actions.
Â
Setting | Description |
---|---|
Action | In this drop-down list, you select if you want an entry to be logged in the System Log, or if you want an Overload Protection configuration to be configured, or if you want to generate a Supervision Event that can be sent to various targets depending on how you configure your Event Notifications. The Overload Protection option is only available if you have Diameter or Radius agents in your workflow. |
Description | Enter a description for this action. |
Reject | This option is only available when you have selected to configure an Overload Protection action and determines the percentage of requests that should be rejected; 0, 25, 50, or 100 %. |
Strategy | This option is only available when you have selected to configure an Overload Protection action and determines if you want to apply this action on all types of requests or if you only want to apply them to the requests following a selected Diameter or Radius overload protection strategy. |
Content | This option is only available when you have selected to configure a Supervision Event action and it determines the content of the event. See https://infozone.atlassian.net/wiki/x/B5jrAw for more information. |
Severity | This option is only available when you have selected to configure a System Log action and it determines the severity of the log entry; Information, Warning, Error, or Disaster. |
Message | This option is only available when you have selected to configure a System Log action and allows you to enter a message that will be visible in the System Log. |
In this dialog, select which type of action you want to use; System Log, Overload Protection, or Supervision Event. Depending on what you choose, the options in the dialog differ.Â
If you have selected an Overload Protection action:
Enter a description in the Description field.
Select the percentage of messages you want to reject; 0, 25, 50, or 100 % in the Reject drop-down list.
In the Strategy drop-down list, you select if you want the action to be applied for all requests, or only for requests following any of the Diameter overload protection strategies.
If you have selected a Supervision Event action:
Enter a description in the Description field.
Enter the event content in the Content field. This content can then be used when configuring Event Notifications for this event.
If you have selected a System Log action:
Enter a description in the Description field.
Select severity in the Severity drop-down list.
Enter an optional message in the Message field.
Click Add to add the action to the action list.
Repeat steps 4 to 8 until you have added all the actions you want to have in the action list and then click Close when you are finished.
You will return to the Add Actions dialog.
Setting | Description |
---|---|
List | Enter a name for the action list in the Name field. |
Action | This section contains all the actions you have added to this list. |
Give the list a name and click the Add button to add the action list in the Create Decision Tables dialog.Â
Repeat steps 3 to 10 until you have created all the action lists you want to have and then click Close when you are finished.
You will return to the Create Decision Tables dialog.
Configuring a Decision Table
In the Decision Table tab you will now have two columns; Conditions and Actions.
The Conditions column contains all the condition lists you have created, and in the Actions column, you can set a condition to either True (true), False (false), or - (Ignore), and then select which action you want to trigger when the settings in the decision table match.
Depending on how many conditions you have configured, there may be many different combinations that you may want to configure different actions for. To add another column, right-click the Action column heading and select the option Add Column.... A new column will then be added. This can be repeated for all the different combinations you want to have.
Note!
Only one action can be selected for each set of combinations.
mzcli Commands
If you need to manually trigger or clear the supervision service with action overload, for example, for maintenance or other purposes, you can use the mzcli wfcommand
. See wfcommand (3.3) for more information.