dscontrol rule
Control the executor function with the dscontrol rule command.
Syntax
>>-dscontrol--rule--+-add--cluster@port@rule--type--+-active-+--options-+->< | '-true---' | +-dropserver--cluster@port@rule--server-------------+ +-remove--cluster@port@rule-------------------------+ +-report--cluster@port@rule-------------------------+ +-set--cluster@port@rule--options-------------------+ +-status--------------------------------------------+ '-useserver--cluster@port@rule--server+s2+----------'
Parameters
- add
- Add this rule to a port.
- cluster: specifies the address of the cluster
as either a symbolic name or in IP address format. You can use an
at symbol (@) to act as a wild card. For instance, the following command
will result in adding RuleA to port 80 for all clusters:
Separate additional clusters with a plus sign (+).dscontrol rule add @80@RuleA type type
- port: specifies the number of the port. You
can use an at symbol (@) to act as a wild card. For instance, the
following command will result in adding RuleA to all ports for ClusterA:
Separate additional ports with a plus sign (+).dscontrol rule add clusterA@@RuleA type type
- rule: specifies the name that you choose for the rule. This name can contain any alphanumeric character, underscore, hyphen, or period. It can be from 1 to 20 characters and cannot contain any blanks. Separate additional rules with a plus sign (+).
- type value
- active: based on the number of active connections total for the port. This rule will work only if the manager is running.
- true: specifies that this rule will always evaluate as true.
- beginrange: specifies the lower value in the range used to determine whether or not the rule is true. This is an integer with a default value of 0.
- endrange: specifies the higher value in the range used to determine whether or not the rule is true. This is an integer with a default value of 2 to the 31st power minus 1.
- priority value: The order in which the
rules are reviewed, where value is an integer.
If you do not specify the priority of the first rule you add, Load Balancer will set it to 1 by default. When a subsequent rule is added, by default its priority is calculated to be 10 + the current lowest priority of any existing rule. For example, assume you have an existing rule whose priority is 30. You add a new rule and set its priority at 25 (which, remember, is a higher priority than 30). Then you add a third rule without setting a priority. The priority of the third rule is calculated to be 40 (30 + 10).
- evaluate value: specifies whether to
evaluate the rule's condition across all servers within the port or
across servers within the rule. Value can be:
- port: specifies to evaluate rule's condition across all the servers on the port. This is the default value.
- rule: specifies to evaluate the rule's condition across the servers within the rule.
Evaluate servers within the rule
The option to measure the rule's condition across the servers within the rule allows you to configure two rules with the following characteristics:- The first rule that gets evaluated contains all the servers maintaining the Web site content, and the evaluate option is set to rule (evaluate the rule's condition across the servers within the rule).
- The second rule is an always true rule that contains a single server that responds with a "site busy" type response.
Evaluate servers on the port
Using the two rules described above, if you set the evaluate option to port for the first rule (evaluate rule's condition across all the servers on the port), when traffic exceeds the threshold of that rule, traffic is sent to the "site busy" server associated to the second rule. The first rule measures all server traffic (including the "site busy" server) on the port to determine whether the traffic exceeds the threshold. As congestion decreases for the servers associated to the first rule, an unintentional result may occur where traffic continues to the "site busy" server because traffic on the port still exceeds the threshold of the first rule.
- cluster: specifies the address of the cluster
as either a symbolic name or in IP address format. You can use an
at symbol (@) to act as a wild card. For instance, the following command
will result in adding RuleA to port 80 for all clusters:
- dropserver
- Remove a server from a rule set.
- server: specifies the name of the server to remove. This is the IP address of the TCP server machine as either a symbolic name or in IP address format. Or, if you used server partitioning, use the logical server's unique name. Separate additional servers with a plus sign (+).
- remove
- Remove one or more rules, separated from one another by plus signs.
- report
- Display the internal values of one or more rules.
- set
- Set values for this rule.
- useserver
- Insert servers into a rule set.
- status
- Display the values that are configured of one or more rules.
Samples
- For example, to route a range of connections to a certain cluster
and port:
dscontrol rule add 130.40.52.153@80@pool2 type active beginrange 250 endrange 500
- Create a rule that always evaluates as true with a priority of
100:
dscontrol rule add 130.40.52.153@80@jamais type true priority 100