A Smart Rule Reference

This appendix describes the smart rules you can use in scheduled policy expressions, as described in Configuring Smart Rule Based Policies. While many of the smart rules described in this appendix are designed to execute elastic actions on dynamic clusters, they can be used in conjunction with any WLDF action. For example, a smart rule that monitors stuck threads in a cluster can be used to execute an SMTP action that sends an email to the system administrator.

The smart rules are organized into the following two categories:

  • Cluster Scope Smart Rules — Rules that are applied to every active Managed Server instance in a dynamic cluster. All cluster scope smart rules must be defined in policies that are run on the Administration Server.

  • Server Scope Smart Rules — Rules that are applied only to the local WebLogic Server instance on which the associated policies are run. You can execute policies containing server scope smart rules on the Administration Server or any individual Managed Server in the domain.

About the Parameters You Specify for Smart Rules

All smart rules involve the collection of metric values, which is the process of gathering data needed for monitoring system state and performance. Metrics are exposed to WLDF as attributes on qualified MBeans. Smart rules cause WLDF to gather values from selected MBean attributes at a specified sampling rate and retain those values for a specified duration of time. This allows you to track trends in metric changes in a server or cluster over time.

When you configure a smart rule, you always specify the following parameters:

Note:

Sampling rates and retention windows are completely independent of policy schedules. A policy schedule determines only when a smart rule is evaluated; the policy schedule does not determine the sampling rate or retention window.

sampling rate

The sampling rate is the frequency with which a metric value is collected. For example, a sampling rate of 30 seconds means that the value of an MBean attribute is collected every 30 seconds.

Each smart rule has a default sampling rate. When you are configuring a smart rule using either the WebLogic Server Administration Console or Fusion Middleware Control, you can accept the default sampling rate that is provided in the configuration assistant. However, when you configure a smart rule using WLST, REST, or JMX, you need to explicitly specify the sampling rate.

The sampling rate is a String value that can be specified using the following syntax:

amount[unit]

In the preceding syntax:

  • amount represents an integer.

  • unit] represents seconds, minutes, or hours. Each can be abbreviated to the first letter. For example: seconds can be abbreviated to s.

    The default sampling rate time unit is seconds.

  • You may include a space character between amount and unit.

For example, any of the following can be used to specify 30 seconds:

  • "30"

  • "30 seconds"

  • "30snds"

  • "30s"

retention window

The retention window is the period of time during which collected samples are retained in an internal buffer for evaluation. For example, a retention window of 5 minutes causes the samples collected during the previous 5 minutes to be retained. As each new sample is collected, the oldest sample is removed.

Smart rules function by calculating the average value of a particular metric that has been collected over the period of time corresponding to the retention window. Obtaining average values allows you to obtain a more representative view of changes, and trends in those changes, that are occurring in a server, cluster, or operational environment of WebLogic Server.

The retention window you specify is a String value that uses the same syntax as the sampling rate:

amount[unit]

The time unit can be seconds, minutes, or hours, and each can be abbreviated. The default time unit in smart rule retention windows is minutes, which can be abbreviated to m. For example, any of the following can be used to specify 10 minutes:

  • "10"

  • "10 minutes"

  • "10mts"

  • "10m"

threshold value

The threshold value is an arbitrary value against which the average value of all metrics collected during a retention window is compared. If the average value meets the smart rule's comparison criteria for the threshold value, the smart rule can be evaluated to true, assuming all other conditions set in the smart rule are met.

For example, if you want a smart rule to be evaluated as true if the average number of idle threads in a cluster is greater than or equal to a specific number, you can enter that number as the threshold value in the ClusterHighIdleThreads smart rule, which monitors a cluster for a high idle thread count. In this context, the threshold value you specify for this smart rule is referred to as the high threshold value because the cluster is monitored to measure whether the average number of idle threads is greater than or equal to that threshold.

By contrast, if you want a smart rule to be evaluated as true if the average free heap in a cluster falls below a certain amount, you enter that amount as the threshold value in the ClusterLowHeapFreePercent smart rule, which monitors a cluster for a low free heap. In this context, this threshold value yo specify for this smart rule is referred to as the low threshold value because the cluster is monitored to measure whether the average free heap amount is less than that threshold.

Note that smart rules vary with regard to how the average collected metric value must compare to the threshold value. Some smart rules require that the average collected value must be greater than or equal to the threshold; some require that the average must be greater than the threshold; some require the average to be less than or equal to the threshold; and so on.

Cluster Scope Smart Rules

A cluster scope smart rule is one that is applied to all active nodes in a cluster, and that must be executed from a policy on the Administration Server. The set of cluster scope smart rules provided by WLDF are listed and summarized in Table A-2. For each smart rule, Table A-2 identifies the following:

  • The specific metric, typically an MBean attribute, that is sampled

  • The condition that causes the smart rule to be evaluated to true if, over the course of the retention window, the number of servers with an average metric value that meets specific comparison criteria against the threshold value is greater than or equal to a specified percentage of all servers in the cluster.

Table A-1 Summary or Administration Server Scope Smart Rules

Smart Rule Metric Condition Required for Evaluation to true

ClusterLowThroughput

Throughput metric of the ThreadPoolRuntimeMBean

The average Throughput value is less than the low threshold value.

ClusterHighProcessCpuLoadAverage

ProcessCpuLoad value of the java.lang:type=OperatingSystem MXBean

The average ProcessCpuLoad value is greater than or equal to the high threshold value.

ClusterHighThroughput

Throughput metric of the ThreadPoolRuntimeMBean

The average Throughput value is greater than or equal to the high threshold value.

ClusterLowPendingUserRequests

PendingUserRequestCount value of the ThreadPoolRuntimeMBean

The average PendingUserRequestCount value is less than the low threshold value.

ClusterHighStuckThreads

StuckThreadCount value of the ThreadPoolRuntimeMBean

The average StuckThreadCount value is greater than or equal to the high threshold value.

ClusterLowQueueLength

QueueLength value of the ThreadPoolRuntimeMBean

The average QueueLength value is less than the low threshold value.

ClusterHighPendingUserRequests

PendingUserRequestCount value of the ThreadPoolRuntimeMBean

The average PendingUserRequestCount value is greater than or equal to the high threshold value.

ClusterLowProcessCpuLoadAverage

ProcessCpuLoad value of the java.lang:type=OperatingSystem MXBean

The average ProcessCpuLoad value is less than the low threshold value.

ClusterHighIdleThreads

ExecuteThreadIdleCount value of the ThreadPoolRuntimeMBean

The average ExecuteThreadIdleCount value is greater than or equal to the high threshold value.

ClusterLowSystemLoadAverage

SystemLoadAverage value of the java.lang:type=OperatingSystem MXBean

The average SystemLoadAverage value is less than the low threshold value.

ClusterHighQueueLength

QueueLength value of the ThreadPoolRuntimeMBean

The average QueueLength value is greater than or equal to the high threshold value.

ClusterLowHeapFreePercent

HeapFreePercent value of the JVMRuntimeMBean

The average HeapFreePercent value is less than the low threshold value.

ClusterHighSystemLoadAverage

SystemLoadAverage value of the java.lang:type=OperatingSystem MXBean

The average SystemLoadAverage value is greater than or equal to the high threshold value.

ClusterHighHeapFreePercent

HeapFreePercent value of the JVMRuntimeMBean

The average HeapFreePercent value is greater than or equal to the high threshold value.

ClusterLowSystemCpuLoadAverage

SystemCpuLoad value of the java.lang:type=OperatingSystem MXBean

The average SystemCpuLoad value is less than the low threshold value.

ClusterLowIdleThreads

ExecuteThreadIdleCount value of the ThreadPoolRuntimeMBean

The average ExecuteThreadIdleCount value is less than the low threshold value.

ClusterGenericMetricRule

Specified MBean attribute value

Any metric visible through JMX satisfies the specified comparison criteria with the threshold value. (This smart rule is a general form of cluster scope rule.)

ClusterHighSystemCpuLoadAverage

SystemCpuLoad value of the java.lang:type=OperatingSystem MXBean

The average SystemCpuLoad value is greater than or equal to the high threshold value.

ClusterLowThroughput

This rule measures whether the average throughput in a cluster is decreasing, as indicated by the average value of the ThreadPoolRuntimeMBean.Throughput attribute in each Managed Server. You can use this rule to determine whether cluster capacity can be safely reduced; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.Throughput value that satisfies the low threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.Throughput attribute

  • Low Throughput threshold value

  • Percentage of servers in the cluster with an average Throughput value that must be less than the low Throughput threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterLowThroughput("clusterName", "period", "duration", throughputLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for Throughput values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Retention window during which collected samples are retained, expressed as a String.

  • The default time unit is minutes.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

throughputLimit

Value established as the low threshold value of the ThreadPoolRuntimeMBean.Throughput attribute.

percentServersLimit

Percentage of servers in the cluster with an average Throughput value that must be less than the value of the throughputLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 15
throughputLimit 5
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowThroughput("myCluster","30 seconds","15 minutes",5,75)

If configured with a scale down action, this example smart rule does the following:

  1. Samples the value of the Throughput metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average Throughput value, over the last 15 minutes, is less than 5 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighProcessCpuLoadAverage

This rule measures an increase in system load across the cluster, as indicated by the average value of the ProcessCpuLoad attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ProcessCpuLoad value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the operating system's ProcessCpuLoad value

  • High ProcessCpuLoad threshold value

  • Percentage of servers in the cluster with an average ProcessCpuLoad value that must be greater than or equal to the high ProcessCpuLoad threshold value in order for the rule to evaluate to true

Note:

The value of the ProcessCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad--.

Syntax

wls:ClusterHighProcessCpuLoadAverage("clusterName", "period", "duration", procCpuLoadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for ProcessCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Retention window during which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

procCpuLoadLimit

Value established as the high threshold value of the ProcessCpuLoad metric.

percentServersLimit

Percentage of servers in the cluster with an average ProcessCpuLoad value that must be greater than or equal to the value of the procCpuLoadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
procCpuLoadLimit 0.8
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighProcessCpuLoadAverage("myCluster","30 seconds","10 minutes",0.8,60)

If configured with a scale up action, this smart rule does the following:

  1. Samples the value of the ProcessCpuLoad metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average ProcessCpuLoad value, over the last 10 minutes, is greater than or equal to 0.8 on at least 60 per cent of the Managed Servers in the cluster.

ClusterHighThroughput

This rule measures an increase in system throughput across the cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.Throughput attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.Throughput value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window of the ThreadPoolRuntimeMBean.Throughput metric

  • High Throughput threshold value

  • Percentage of servers in the cluster whose average Throughput value during the sampling period must be greater than or equal to the high Throughput threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighThroughput("clusterName", "period", "duration", throughputLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for Throughput values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

throughputLimit

Value established as the high threshold value of the Throughput attribute.

percentServersLimit

Percentage of servers in the cluster with an average Throughput value that must be greater than or equal to the value of the throughputLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
throughputLimit 100
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighThroughput("myCluster","30 seconds","10 minutes",100,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the Throughput metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average Throughput value, over the last 10 minutes, is greater than or equal to 100 on at least 60 per cent of the Managed Servers in the cluster.

ClusterLowPendingUserRequests

This rule measures a reduction in pending requests across the cluster as indicated by the average value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute in each Managed Server. You can use this rule to determine whether cluster capacity can be reduced; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.PendingUserRequestCount value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.PendingUserRequestCount metric

  • Low PendingUserRequestCount threshold value

  • Percentage of servers in the cluster with an average PendingUserRequestCount value that must be less than the low PendingUserRequestCount threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterLowPendingUserRequests("clusterName", "period", "duration", pendingRequestsLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for PendingUserRequestCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

pendingRequestsLimit

Value established as the low threshold value of the PendingUserRequestCount attribute.

percentServersLimit

Percentage of servers in the cluster with an average PendingUserRequestCount value that must be less than the value of the pendingRequestsLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
pendingRequestsLimit 5
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowPendingUserRequests("myCluster","30 seconds","10 minutes",5,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the PendingUserRequestCount metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average PendingUserRequestCount value, over the last 10 minutes, is less than 5 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighStuckThreads

This rule measures whether the number of stuck threads is rising and may soon become deadlocked, as indicated by the average value of the ThreadPoolRuntimeMBean.StuckThreadCount attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.StuckThreadCount value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.StuckThreadCount attribute

  • High StuckThreadCount threshold value

  • Percentage of servers in the cluster with an average ThreadPoolRuntimeMBean.StuckThreadCount value that must be greater than or equal to the high StuckThreadCount threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighStuckThreads("clusterName", "period", "duration", stuckThreadsLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for StuckThreadCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

stuckThreadsLimit

Value established as the high threshold value of the StuckThreadCount attribute.

percentServersLimit

Percentage of servers in the cluster with an average StuckThreadCount value that must be greater than or equal to the value of the stuckThreadsLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
stuckThreadsLimit 5
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighStuckThreads("myCluster","30 seconds","10 minutes",5,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the StuckThreadCount metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average StuckThreadCount value, over the last 10 minutes, is greater than or equal to 5 on at least 60 per cent of the Managed Servers in the cluster.

ClusterLowQueueLength

This rule measures a decrease in system load across the cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.QueueLength attribute in each Managed Server. You can use this rule to determine whether cluster capacity can be safely reduced; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.QueueLength value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.QueueLength metric

  • Low QueueLength threshold value

  • Percentage of servers in the cluster with an average QueueLength value that must be less than the low QueueLength threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterLowQueueLength("clusterName", "period", "duration", queueLengthLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for QueueLength values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

queueLengthLimit

Value established as the low threshold value of the QueueLength attribute.

percentServersLimit

Percentage of servers in the cluster with an average QueueLength value that must be less than the value of the queueLengthLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 15
queueLengthLimit 5
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowQueueLength("myCluster","30 seconds","15 minutes",5,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the QueueLength metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average QueueLength value, over the last 15 minutes, is less than 5 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighPendingUserRequests

This rule measures an increase in system load across the cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute in each Managed Server. You can use this rul to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.PendingUserRequestCount value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.PendingUserRequestCount metric

  • High PendingUserRequestCount threshold value

  • Percentage of servers in the cluster with an average PendingUserRequestCount value that must be greater than or equal to the high PendingUserRequestCount threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighPendingUserRequests("clusterName", "period", "duration", pendingRequestsLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for PendingUserRequestCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

pendingRequestsLimit

Value established as the high threshold value of the PendingUserRequestCount attribute.

percentServersLimit

Percentage of servers in the cluster with an average PendingUserRequestCount value that must be greater than or equal to the value of the pendingRequestsLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
pendingRequestsLimit 100
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighPendingUserRequests("myCluster","30 seconds","10 minutes",100,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the PendingUserRequestCount metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average PendingUserRequestCount value, over the last 10 minutes, is greater than or equal to 100 on at least 60 per cent of the Managed Servers in the cluster.

ClusterLowProcessCpuLoadAverage

This rule measures a reduction of system CPU load across a cluster, as indicated by the average value of the ProcessCpuLoad attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be decreased; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ProcessCpuLoad value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

Note that the value of ProcessCpuLoad is platform specific and is not available on all platforms.

To use this smart rule, specify:

  • The sampling rate and retention window for the java.lang:type=OperatingSystem ProcessCpuLoad metric

  • Low ProcessCpuLoad threshold value

  • Percentage of servers in the cluster with an average ProcessCpuLoad value that must be less than the low ProcessCpuLoad threshold value in order for the rule to evaluate to true

Note:

The value of the ProcessCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad.

Syntax

wls:ClusterLowProcessCpuLoadAverage("clusterName", "period", "duration", procCpuLoadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for ProcessCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

procCpuLoadLimit

Value established as the low threshold value of the ProcessCpuLoad attribute.

percentServersLimit

Percentage of servers in the cluster with an average ProcessCpuLoad value that must be less than the value of the procCpuLoadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 15
procCpuLoadLimit 0.2
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowProcessCpuLoadAverage("myCluster","30 seconds","10 minutes",0.2,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the ProcessCpuLoad metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average ProcessCpuLoad value, over the last 15 minutes, is less than 0.2 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighIdleThreads

This rule measures an increase in the number of idle threads in a cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute in each Managed Server. You can use this rule to determine whether cluster capacity can be safely reduced; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.ExecuteThreadIdleCount value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount metric

  • High ExecuteThreadIdleCount threshold value

  • Percentage of Managed Servers in the cluster with an average ExecuteThreadIdleCount value that must be greater than or equal to the high ExecuteThreadIdleCount threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighIdleThreads("clusterName", "period", "duration", idleThreadsLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for ExecuteThreadIdleCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

idleThreadsLimit

Value established as the high threshold value of the ExecuteThreadIdleCount attribute.

percentServersLimit

Percentage of servers in the cluster with an average ExecuteThreadIdleCount value that must be greater than or equal to the value of the idleThreadsLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
idleThreadsLimit 20
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighIdleThreads("myCluster","30 seconds","10 minutes",20,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the ExecuteThreadIdleCount metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average ExecuteThreadIdleCount value, over the last 10 minutes, is greater than or equal to 20 on at least 75 per cent of the Managed Servers in the cluster.

ClusterLowSystemLoadAverage

This rule measures a decrease in system load across a cluster, as indicated by the average value of the SystemLoadAverage attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be decreased; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average SystemLoadAverage value that satisfies the threshold comparison criteria is equal to or greater than the specified percentage of all servers in the cluster.

Note that the value of SystemLoadAverage is system dependent.

To use this smart rule, specify:

  • The sampling rate and retention window for the java.lang:type=OperatingSystem SystemLoadAverage metric

  • Low SystemLoadAverage threshold value

  • Percentage of Managed Servers in the cluster with an average SystemLoadAverage value that must be less than the low SystemLoadAverage threshold value in order for the rule to evaluate to true

Note:

The value of the SystemLoadAverage metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at http://docs.oracle.com/javase/8/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage--.

Syntax

wls:ClusterLowSystemLoadAverage("clusterName", "period", "duration", loadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for SystemLoadAverage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

loadLimit

Value established as the low threshold value of the SystemLoadAverage attribute.

percentServersLimit

Percentage of servers in the cluster with an average SystemLoadAverage value that must be less than the value of the loadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 15
loadLimit 0.2
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowSystemLoadAverage("myCluster","30 seconds","15 minutes",0.2,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the SystemLoadAverage metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average SystemLoadAverage value, over the last 15 minutes, is less than 0.2 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighQueueLength

This rule measures an increase in system load across the cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.QueueLength attribute in each Managed Server. You can use this rule to determine whether the cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.QueueLength value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.QueueLength metric

  • High QueueLength threshold value

  • Percentage of Managed Servers in the cluster with an average QueueLength value that must be greater than or equal to the high QueueLength threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighQueueLength("clusterName", "period", "duration", queueLengthLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for QueueLength values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

queueLengthLimit

Value established as the high threshold value of the QueueLength attribute.

percentServersLimit

Percentage of servers in the cluster with an average QueueLength value that must be greater than or equal to the value of the queueLengthLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
queueLengthLimit 100
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighQueueLength("myCluster","30 seconds","10 minutes",100,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the QueueLength metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average QueueLength value, over the last 10 minutes, is greater than or equal to 100 on at least 60 per cent of the Managed Servers in the cluster.

ClusterLowHeapFreePercent

This rule measures an increase in heap stress across a cluster, as indicated by the average value of the JVMRuntimeMBean.HeapFreePercent attribute in each Managed Server. You can use this rule to determine whether the cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average JVMRuntimeMBean.HeapFreePercent value that satisfies the threshold comparison criteria is greater than or equal to a specific percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the JVMRuntimeMBean.HeapFreePercent metric

  • Low HeapFreePercent threshold value

  • Percentage of Managed Servers in the cluster with an average HeapFreePercent value during the sampling period that must be less than the low HeapFreePercent threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterLowHeapFreePercent("clusterName", "period", "duration", percentFreeLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for HeapFreePercent values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

percentFreeLimit

Value established as the low threshold value of the HeapFreePercent attribute.

percentServersLimit

Percentage of servers in the cluster with an average HeapFreePercent value that must be less than the value of the percentFreeLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
percentFreeLimit 20
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowHeapFreePercent("myCluster","30 seconds","10 minutes",20,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the HeapFreePercent metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average HeapFreePercent value, over the last 10 minutes, is less than 20 on at least 60 per cent of the Managed Servers in the cluster.

ClusterHighSystemLoadAverage

This rule measures an increase on system load across a cluster, as indicated by the average value of the SystemLoadAverage attribute in each Managed Server. You can use this rule to determine if cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average java.lang:type=OperatingSystem SystemLoadAverage value that satisfies the threshold comparison criteria is greater than or equal to the specified percentage of all servers in the cluster.

Note that the value of the SystemLoadAverage is system dependent.

To use this smart rule, specify:

  • The sampling rate and retention window for the java.lang:type=OperatingSystem SystemLoadAverage metric

  • High SystemLoadAverage threshold value

  • Percentage of Managed Servers in the cluster with an average SystemLoadAverage value that must be greater than or equal to the high SystemLoadAverage threshold value in order for the rule to evaluate to true

Note:

The value of the SystemLoadAverage metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at http://docs.oracle.com/javase/8/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage--.

Syntax

wls:ClusterHighSystemLoadAverage("clusterName", "period", "duration", loadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for SystemLoadAverage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

loadLimit

Value established as the high threshold value of the SystemLoadAverage attribute.

percentServersLimit

Percentage of servers in the cluster with an average SystemLoadAverage value that must be greater than or equal to the value of the loadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 5
loadLimit 0.8
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighSystemLoadAverage("myCluster","30 seconds","5 minutes",0.8,60)

When configured with a scale up action, this smart rule does the following:

  1. Samples the value of the SystemLoadAverage metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average SystemLoadAverage value, over the last 5 minutes, is greater than or equal to 0.8 on at least 60 per cent of the Managed Servers in the cluster.

ClusterHighHeapFreePercent

This rule measures a reduction in heap stress across a dynamic cluster, as indicated by the average value of the JVMRuntimeMBean.HeapFreePercent attribute in each Managed Server. You can use this rule to determine if cluster capacity can be reduced; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average JVM free heap percentage value that satisfies the threshold comparison criteria is greater than or equal to a specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the JVM free heap percentage metric

  • High JVM free heap threshold value

  • Percentage of Managed Servers in the cluster with an average JVM free heap value that must be greater than or equal to the high JVM free heap threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterHighHeapFreePercent("clusterName", "period", "duration", percentFreeLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for JVM free heap percentage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

percentFreeLimit

Value established as the high threshold value of the JVM free heap percentage.

percentServersLimit

Percentage of servers in the cluster with an average JVM free heap percentage that must be greater than or equal to the percentFreeLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 5
percentFreeLimit 60
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighHeapFreePercent("myCluster","30 seconds","5 minutes",60,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the JVM free heap percentage metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average JVM free heap percentage value, over the last 5 minutes, is greater than or equal to 60 on at least 75 per cent of the Managed Servers in the cluster.

ClusterLowSystemCpuLoadAverage

This rule measures a reduction of the system CPU load average across a cluster, as indicated by the average value of the SystemCpuLoad attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be decreased; for example, by executing a scale down action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average java.lang:type=OperatingSystem SystemCpuLoad value satisfies the threshold comparison criteria is greater than or equal to a specified percentage of all servers in the cluster.

Note that the value of the SystemCpuLoad metric is platform-specific and is not available on all platforms.

To use this smart rule, specify:

  • The sampling rate and retention window for the java.lang:type=OperatingSystem SystemCpuLoad metric

  • Low SystemCpuLoad threshold value

  • Percentage of Managed Servers in the cluster with an average SystemCpuLoad value that must be below the low SystemCpuLoad threshold value in order for the rule to evaluate to true

Note:

The value of the SystemCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getSystemCpuLoad--.

Syntax

wls:ClusterLowSystemCpuLoadAverage("clusterName", "period", "duration", systemCpuLoadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for SystemCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

systemCpuLoadLimit

Value established as the low threshold value of the SystemCpuLoad attribute.

percentServersLimit

Percentage of servers in the cluster with an average SystemCpuLoad value that must be less than the value of the systemCpuLoadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 15
systemCpuLoadLimit 0.2
percentServersLimit 75

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowSystemCpuLoadAverage("myCluster","30 seconds","15 minutes",0.2,75)

When configured with a scale down action, this smart rule does the following:

  1. Samples the value of the SystemCpuLoad metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires a scale down action if the following condition evaluates to true:

    The average SystemCpuLoad value, over the last 15 minutes, is less than 0.2 on at least 75 per cent of the Managed Servers in the cluster.

ClusterLowIdleThreads

This rule measures an increase in load stress across the cluster, as indicated by the average value of the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute in each Managed Server. You can use this rule to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average ThreadPoolRuntimeMBean.ExecuteThreadIdleCount value that satisfies the threshold comparison criteria is greater than or equal to a specified percentage of all servers in the cluster.

To use this smart rule, specify:

  • The sampling rate and retention window for the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount metric

  • Low ExecuteThreadIdleCount threshold value

  • Percentage of Managed Servers in the cluster whose average ExecuteThreadIdleCount value is less than the low ExecuteThreadIdleCount threshold value in order for the rule to evaluate to true

Syntax

wls:ClusterLowIdleThreads("clusterName", "period", "duration", idleThreadsLimit", percentServerLimit")
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for ExecuteThreadIdleCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is minutes.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

idleThreadsLimit

Value established as the low ExecuteThreadIdleCount threshold value.

percentServersLimit

Percentage of servers in the cluster with an average ExecuteThreadIdleCount value that must be less than the value of the idleThreadsLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 10
idleThreadsLimit 5
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterLowIdleThreads("myCluster","30 seconds","10 minutes",5,60)

When configured with a scale up action, this example smart rule:

  1. Samples the value of the ExecuteThreadIdleCount metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average ExecuteThreadIdleCount value, over the last 10 minutes, is less than 5 on at least 60 per cent of the Managed Servers in the cluster.

ClusterGenericMetricRule

This smart rule is typically used to observe trends in JMX metrics that are published through the Server Runtime MBean Server and that are not provided through the other cluster scope smart rules.

Target: Administration Server

Description

This smart rule allows you to view the average value of any metric obtained through JMX within a specific time interval, and compare that average value to a specified threshold value by using a specified comparison operator for each Managed Server in the cluster. If the percentage of servers matching the comparison criteria meets or exceeds the specified limit, the overall condition of the rule is satisfied and this rule returns true.

To use this smart rule, specify:

  • Dynamic cluster name

  • A valid JMX ObjectName or ObjectName pattern

  • An attribute name, or attribute expression (as an EL expression), where the expression is an attribute expression relative to each MBean.

    For example, if the MBean is the ServerRuntimeMBean, 'OpenSocketsCurrentCount' obtains the value of the ServerRuntimeMBean.OpenSocketsCurrentCount attribute. In contrast, 'HealthState.State' accesses the State value of the HealthState child object.

  • A valid boolean comparison operator

  • A threshold value against which the selected attribute is compared

  • Percentage of Managed Servers in the cluster whose average attribute value during the sampling period must meet the threshold value in order for the rule to evaluate to true

  • The sampling rate and retention window for the metric on each Managed Server instance in the cluster

  • Period of time during which samples are collected

Syntax

wls:ClusterGenericMetricRule("clusterName", "instancePattern", "attribute", "operation", thresholdValue, percentServersLimit, "period", "duration")
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

instancePattern

A valid JMX ObjectName or ObjectName pattern

attribute

A Java EL expression that retrieves a value on each MBean instance that matches instancePattern, where the expression is an attribute expression relative to each MBean.

For example, if the MBean is the ServerRuntimeMBean, the expression 'OpenSocketsCurrentCount' obtains the value of the OpenSocketsCurrentCount attribute of the ServerRuntimeMBean. By contrast, the expression 'HealthState.State' obtains the State value of the HealthState child object of that MBean.

operation

A boolean comparison operator: <, <=, ==, >=, or >.

thresholdValue

Threshold value against which the value of the attribute parameter is compared.

percentServersLimit

Percentage of servers in the cluster with an average attribute value that must satisfy the comparison criteria with the value of the thresholdValue parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

period

Sampling rate for metric values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
instancePattern java.lang:type=OperatingSystem
attribute ProcessCpuLoad
operation >=
thresholdValue 0.9
percentServersLimit 75
period 30
duration 10

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterGenericMetricRule("myCluster","java.lang:type=OperatingSystem","ProcessCpuLoad",">=",0.9,75,"30 seconds","10 minutes")

This example smart rule:

  1. Samples the value of the ProcessCpuLoad metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, this smart rule evaluates to true in the following condition:

    The average value of ProcessCpuLoad on the OperatingSystemMXBean, over the last 10 minutes, is greater than or equal to 0.9 on at least 75 per cent of the Managed Servers in the cluster.

ClusterHighSystemCpuLoadAverage

This rule measures an increase on system load across the cluster, as indicated by the average value of the operating system SystemCpuLoad attribute in each Managed Server. You use this rule to determine whether cluster capacity needs to be increased; for example, by executing a scale up action.

Target: Administration Server

Description

This smart rule evaluates to true if the number of Managed Servers with an average java.lang:type=OperatingSystem SystemCpuLoad value that satisfies the threshold comparison criteria is greater than or equal to a specified percentage of all servers in the cluster.

Note that the value of SystemCpuLoad is platform-specific and is not available on all platforms.

To use this smart rule, specify:

  • The sampling rate and retention window for the java.lang:type=OperatingSystem SystemCpuLoad metric

  • High SystemCpuLoad threshold value

  • Percentage of Managed Servers in the cluster with an average SystemCpuLoad value that is greater than or equal to the high SystemCpuLoad threshold value in order for the rule to evaluate to true

Note:

The value of the SystemCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getSystemCpuLoad--.

Syntax

wls:ClusterHighSystemCpuLoadAverage("clusterName", "period", "duration", systemCpuLoadLimit, percentServersLimit)
Parameter Description
clusterName

Name of target dynamic cluster, expressed as a String.

period

Sampling rate for SystemCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

systemCpuLoadLimit

Value established as the high threshold value of the SystemCpuLoad attribute.

percentServersLimit

Percentage of servers in the cluster with an average SystemCpuLoad value that must be greater than or equal to the value of the systemCpuLoadLimit parameter in order for the smart rule to be evaluated as true.

This parameter is expressed as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
clusterName myCluster
period 30
duration 5
systemCpuLoadLimit 0.8
percentServersLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ClusterHighSystemCpuLoadAverage("myCluster","30 seconds","5 minutes",0.8,60)

When configured with a scale up action, this example smart rule:

  1. Samples the value of the SystemCpuLoad metric from each Managed Server instance in myCluster every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires a scale up action if the following condition evaluates to true:

    The average SystemCpuLoad value, over the last 5 minutes, is greater than or equal to 0.8 on at least 60 per cent of the Managed Servers in the cluster.

Server Scope Smart Rules

Server scope smart rules, listed and summarized in Table A-2, are rules that are applied only to the local WebLogic Server instance on which the associated policies are run. You can execute policies containing server scope smart rules on the Administration Server or any individual Managed Server in the domain.

Table A-2 Summary of Managed Server Scope Smart Rules

After the retention window, the following smart rule . . . . . . returns true if . . .

ServerLowIdleThreads

The average ThreadPoolRuntimeMBean.ExecuteThreadIdleCount value on the local server is equal to or less than the low threshold value.

ServerHighThroughput

The average ThreadPoolRuntimeMBean.Throughput value on the local server is greater than or equal to the high threshold value.

ServerGenericMetricRule

The average value of a metric visible through JMX within the local JVM satisfies the comparison criteria with the threshold value.

ServerLowPendingUserRequests

The average ThreadPoolRuntimeMBean.PendingUserRequestCount value on the local server is less than the low threshold value.

ServerLowProcessCpuLoadAverage

The average value of the ProcessCpuLoad metric of the java.lang:type=OperatingSystem MXBean on the local server is less than the low threshold value.

ServerHighSystemLoadAverage

The average value of the SystemLoadAverage metric from the java.lang:type=OperatingSystem MXBean on the local server is greater than or equal to the high threshold value.

ServerLowQueueLength

The average ThreadPoolRuntimeMBean.QueueLength value on the local server is less than the low threshold value.

ServerLowThroughput

The average ThreadPoolRuntimeMBean.Throughput value on the local server is less than the low threshold value.

ServerHighQueueLength

The average ThreadPoolRuntimeMBean.QueueLength value on the local server is greater than or equal to the high threshold value.

ServerHighSystemCpuLoadAverage

The average SystemCpuLoad attribute of the java.lang:type=OperatingSystem MXBean on the local server is greater than or equal to the high threshold value.

ServerHighPendingUserRequests

The average ThreadPoolRuntimeMBean.PendingUserRequestCount value on the local server is greater than or equal to the high threshold value.

ServerLowSystemCpuLoadAverage

The average SystemCpuLoad attribute of the java.lang:type=OperatingSystem MXBean on the local server is less than the low threshold value.

ServerHighHeapFreePercent

The average percentage of free heap on the local server is greater than or equal to the high threshold value.

ServerHighStuckThreads

The average ThreadPoolRuntimeMBean.StuckThreadCount value on the local server is greater than or equal to high threshold value.

ServerHighProcessCpuLoadAverage

The average ProcessCpuLoad value of the java.lang:type=OperatingSystem MXBean on the local server is greater than or equal to the high threshold value.

ServerLowSystemLoadAverage

The average SystemLoadAverage value of the java.lang:type=OperatingSystem MXBean on the local server is less than the low threshold value.

ServerLowHeapFreePercent

The average percentage of free heap on the local server is less than the low threshold value.

ServerHighIdleThreads

The average ThreadPoolRuntimeMBean.ExecuteThreadIdleCount value on the local server is greater than or equal to the high threshold value.

ServerLowIdleThreads

This smart rule detects if the average number of idle threads is below the specified threshold within the local server in which the rule is running, as indicated by the average value of the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This smart rule returns true if the average value of the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute is equal to or less than the specified threshold value.

To use this smart rule, specify:

Syntax

wls:ServerLowIdleThreads("period", "duration", idleThreadsLimit)
Parameter Description
period

Sampling rate for ExecuteThreadIdleCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

idleThreadsLimit

Value established as the low threshold value of the ExecuteThreadIdleCount attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 5
idleThreadsLimit 0.8

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowIdleThreads("30 seconds","10 minutes",5)

This example smart rule:

  1. Samples the value of the ExecuteThreadIdleCount metric from the local server instance every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average ExecuteThreadIdleCount value, over the last 5 minutes, is less than or equal to 0.8 on this server instance.

ServerHighThroughput

This smart rule determines whether an increase in throughput exists within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This smart rule returns true if the average value of the ThreadPoolRuntimeMBean.Throughput attribute over the specified retention window is greater than or equal to the high threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighThroughput("period", "duration", throughputLimit)
Parameter Description
period

Sampling rate for Throughput values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

throughputLimit

Value established as the high threshold value of the Throughput attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
throughputLimit 100

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighThroughput("30 seconds","10 minutes",100)

This example smart rule:

  1. Samples the value of the Throughput metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average Throughput value, over the last 10 minutes, is greater than or equal to 100 on this server instance.

ServerGenericMetricRule

This is a general server scope smart rule you can use to observe trends of any JMX metric that is published through the Server Runtime MBean Server and that is not provided by the other server scope smart rules. This smart rule allows you to collect the average value of the metric across a recent time interval and compare it to a threshold value using a specified comparison operator.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This smart rule returns true if the average value of the metric meets or exceeds the specified threshold value.

To use this smart rule, specify:

  • A valid JMX ObjectName or ObjectName pattern

  • A Java EL expression that retrieves a value on each matching MBean instance, where the expression is an attribute expression relative to each MBean.

  • A boolean comparison operator using the specified comparison operator

  • A threshold value against which the selected attribute is compared

  • The sampling rate and retention window of the metric.

Syntax

wls:ServerGenericMetricRule("instancePattern", "attribute", "operation", thresholdValue, "period", "duration")
Parameter Description
instancePattern

A valid JMX ObjectName or ObjectName pattern

attribute

A Java EL expression that retrieves a value on each MBean instance that matches instancePattern, where the expression is an attribute expression relative to each MBean.

For example, if the MBean is the ServerRuntimeMBean, the expression 'OpenSocketsCurrentCount' obtains the value of the OpenSocketsCurrentCount attribute of the ServerRuntimeMBean. By contrast, the expression 'HealthState.State' obtains the State value of the HealthState child object of that MBean.

operation

A boolean comparison operator: <, <=, ==, >=, or >.

thresholdValue

A threshold value with which to compare the selected attribute using the specified comparison operator.

period

Sampling rate for metric values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
instancePattern java.lang:type=OperatingSystem
attribute ProcessCpuLoad
operation >=
thresholdValue 0.9
period 30
duration 10

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerGenericMetricRule("java.lang:type=OperatingSystem","ProcessCpuLoad",">=",0.9,"30 seconds","10 minutes")

The smart rule:

  1. Samples the value of the ProcessCpuLoad metric on the targeted server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, this smart rule evaluates to true in the following condition:

    The average value of ProcessCpuLoad on the OperatingSystemMXBean, over the last 10 minutes, is greater than or equal to 0.9 on this server instance.

ServerLowPendingUserRequests

This smart rule determines whether the average number of pending user requests within the local server in which the rule is running, as indicated by the value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This smart rule returns true if the average value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute over the specified retention window is less than the low threshold value.

To use this smart rule, specify:

Syntax

wls:ServerLowPendingUserRequests("period", "duration", pendingRequestsLimit)
Parameter Description
period

Sampling rate for PendingUserRequestCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

pendingRequestsLimit

Value established as the low threshold value of the PendingUserRequestCount attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
pendingRequestsLimit 5

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowPendingUserRequests("30 seconds","15 minutes",5)

This example smart rule:

  1. Samples the value of the PendingUserRequestCount metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, evaluates to true if the following condition exists:

    The average PendingUserRequestCount value, over the last 15 minutes, is less than 5 on this server instance.

ServerLowProcessCpuLoadAverage

This smart rule determines whether a reduction exists in the average system load within the local server instance in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ProcessCpuLoad metric of the java.lang:type=OperatingSystem MXBean over the specified time interval is less than a specified threshold value.

Note:

The value of the ProcessCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad--.

To use this smart rule, specify:

Syntax

wls:ServerLowProcessCpuLoadAverage("period", "duration", processCpuLoadLimit)
Parameter Description
period

Sampling rate for ProcessCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

processCpuLoadLimit

Value established as the low threshold value of the ProcessCpuLoad attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
processCpuLoadLimit 0.2

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowProcessCpuLoadAverage("30 seconds","15 minutes",0.2)

This example smart rule:

  1. Samples the value of the ProcessCpuLoad metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average ProcessCpuLoad value, over the last 15 minutes, is less than 0.2 on this server instance.

ServerHighSystemLoadAverage

This smart rule determines whether a reduction exists on the average system load within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the SystemLoadAverage metric from the java.lang:type=OperatingSystem MXBean on the local server instance over specified interval is greater than or equal to a specific high threshold value.

To use this smart rule, specify:

Note:

The value of the SystemLoadAverage metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at http://docs.oracle.com/javase/8/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage--.

Syntax

wls:ServerHighSystemLoadAverage("period", "duration", loadLimit)
Parameter Description
period

Sampling rate for SystemLoadAverage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

loadLimit

Value established as the high threshold value of the SystemLoadAverage attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 5
loadLimit 0.8

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighSystemLoadAverage("30 seconds","5 minutes",0.8)

This example smart rule:

  1. Samples the value of the SystemLoadAverage metric on the local server instance every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average SystemLoadAverage value, over the last 5 minutes, is greater than or equal to 0.8 collected on this server instance.

ServerLowQueueLength

This smart rule determines whether a reduction exists in the average thread pool queue length within the local server in which the rule is running, as indicated by the value of the ThreadPoolRuntimeMBean.QueueLength metric.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.QueueLength attribute on the local server instance over specified interval is less than a specific low threshold value.

To use this smart rule, specify:

Syntax

wls:ServerLowQueueLength("period", "duration", queueLengthLimit)
Parameter Description
period

Sampling rate for QueueLength values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

queueLengthLimit

Value established as the low threshold value of the QueueLength attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
queueLengthLimit 5

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowQueueLength("30 seconds","15 minutes",5)

This example smart rule:

  1. Samples the value of the QueueLength metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average QueueLength value, over the last 15 minutes, is less than 5 on this server instance.

ServerLowThroughput

This smart rule determines whether a decrease exists in the average throughput within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.Throughput attribute on the local server over the specified interval is less than the specified low threshold value.

To use this smart rule, specify:

Syntax

wls:ServerLowThroughput("period", "duration", throughputLimit)
Parameter Description
period

Sampling rate for Throughput values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

throughputLimit

Value established as the low threshold value of the Throughput attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
idleThreadsLimit 5

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowThroughput("30 seconds","15 minutes",5)

This example smart rule:

  1. Samples the value of the Throughput metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average Throughput value, over the last 15 minutes, is less than 5 on this server instance.

ServerHighQueueLength

This smart rule determines whether an increase exists in the average thread pool queue length within the local server in which the rule is running, as indicated by the value of the ThreadPoolRuntimeMBean.QueueLength attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.QueueLength attribute over a specific time interval is greater than or equal to a specific high threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighQueueLength("period", "duration", queueLengthLimit)
Parameter Description
period

Sampling rate for QueueLength values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

queueLengthLimit

Value established as the high threshold value of the QueueLength attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
queueLengthLimit 100

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighQueueLength("30 seconds","10 minutes",100)

This example smart rule:

  1. Samples the value of the QueueLength metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average QueueLength value, over the last 10 minutes, is greater than or equal to 100 on this server instance.

ServerHighSystemCpuLoadAverage

This smart rule determines whether an increase exists in the average system CPU load within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the SystemCpuLoad attribute of the java.lang:type=OperatingSystem MXBean over a specific time interval is greater than or equal to a specific high threshold.

Note:

The value of the SystemCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getSystemCpuLoad--.

To use this smart rule, specify:

Syntax

wls:ServerHighSystemCpuLoadAverage("period", "duration", systemCpuLoadLimit)
Parameter Description
period

Sampling rate for SystemCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

systemCpuLoadLimit

Value established as the high threshold value of the SystemCpuLoad attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
systemCpuLoadLimit 0.8

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighSystemCpuLoadAverage("30 seconds","10 minutes",0.8)

This example smart rule:

  1. Samples the value of the SystemCpuLoad metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average SystemCpuLoad value, over the last 10 minutes, is greater than or equal to 0.8 on this server instance.

ServerHighPendingUserRequests

This smart rule determines whether an increase exists in the number of pending user requests within the local server in which the rule is running, as indicated by the value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.PendingUserRequestCount attribute over a specific interval is greater than or equal to a specific threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighPendingUserRequests("period", "duration", pendingRequestsLimit)
Parameter Description
period

Sampling rate for PendingUserRequestCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

pendingRequestsLimit

Value established as the high threshold value of the PendingUserRequestCount attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
pendingRequestsLimit 100

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighPendingUserRequests("30 seconds","10 minutes",100)

This example smart rule:

  1. Samples the value of the PendingUserRequestCount metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average PendingUserRequestCount value, over the last 10 minutes, is greater than or equal to 100 on this server instance.

ServerLowSystemCpuLoadAverage

This smart rule determines whether a reduction exists in the average system CPU load within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the SystemCpuLoad metric of the java.lang:type=OperatingSystem MXBean over a specific interval is less than the specified low threshold value.

Note:

The value of the SystemCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getSystemCpuLoad--.

To use this smart rule, specify:

Syntax

wls:ServerLowSystemCpuLoadAverage("period", "duration", systemCpuLoadLimit)
Parameter Description
period

Sampling rate for SystemCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

systemCpuLoadLimit

Value established as the low threshold value of the SystemCpuLoad attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
systemCpuLoadLimit 0.8

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowSystemCpuLoadAverage("30 seconds","15 minutes",0.8)

This example smart rule:

  1. Samples the value of the SystemCpuLoad metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average SystemCpuLoad value, over the last 15 minutes, is less than 0.8 on this server instance.

ServerHighHeapFreePercent

This smart rule determines whether an increase in heap stress exists within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average JVMRuntimeMBean.HeapFreePercent value over the specific time interval is greater than or equal to the specified high threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighHeapFreePercent("period", "duration", percentFreeLimit)
Parameter Description
period

Sampling rate for JVM free heap percentage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

percentFreeLimit

Value established as the high threshold of the JVM free heap percentage, specified as a float value between 0.0 and 100.0

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
percentFreeLimit 60

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighHeapFreePercent("30 seconds","10 minutes",60)

This example smart rule:

  1. Samples the value of the JVM free heap percentage from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average JVM free heap value, over the last 10 minutes, is greater than or equal to 60 per cent on this server instance.

ServerHighStuckThreads

This smart rule determines whether an increase exists on server stress based on the average number of stuck threads within the local server in which the rule is running, as indicated by the value of the ThreadPoolRuntimeMBean.StuckThreadCount attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.StuckThreadCount attribute over a specific time interval is greater than or equal to the specified threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighStuckThreads("period", "duration", stuckThreadsLimit)
Parameter Description
period

Sampling rate for StuckThreadCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

stuckThreadsLimit

Value established as the high threshold value of the StuckThreadCount attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
stuckThreadsLimit 5

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighStuckThreads("30 seconds","10 minutes",5)

This example smart rule:

  1. Samples the value of the StuckThreadCount metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average StuckThreadCount value, over the last 10 minutes, is greater than or equal to 5 on this server instance.

ServerHighProcessCpuLoadAverage

This smart rule determines whether an decrease exists in the average system load within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average ProcessCpuLoad value of the java.lang:type=OperatingSystem MXBean over the specified interval is greater than or equal to the specified threshold.

Note:

The value of the ProcessCpuLoad metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad--.

To use this smart rule, specify:

Syntax

wls:ServerHighProcessCpuLoadAverage("period", "duration", processCpuLoadLimit)
Parameter Description
period

Sampling rate for ProcessCpuLoad values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

processCpuLoadLimit

Value established as the high threshold value of the ProcessCpuLoad attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 5
processCpuLoadLimit 0.8

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighProcessCpuLoadAverage("30 seconds","5 minutes",0.8)

This example smart rule:

  1. Samples the value of the ProcessCpuLoad metric from the local server instance every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average ProcessCpuLoad value, over the last 5 minutes, is greater than or equal to 0.8 on this server instance.

ServerLowSystemLoadAverage

This smart rule determines whether a reduction exists in the average system load within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the value of the SystemLoadAverage metric of the java.lang:type=OperatingSystem MXBean over a specified interval is less than the specified low threshold value.

Note:

The value of the SystemLoadAverage metric is platform-specific and is not available on all platforms. The MXBean attribute from which this metric originates is described at http://docs.oracle.com/javase/8/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage--.

To use this smart rule, specify:

Syntax

wls:ServerLowSystemLoadAverage("period", "duration", loadLimit)
Parameter Description
period

Sampling rate for SystemLoadAverage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

loadLimit

Value established as the low threshold value of the SystemLoadAverage attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 15
loadLimit 0.2

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowSystemLoadAverage("30 seconds","15 minutes",0.2)

This example smart rule:

  1. Samples the value of the SystemLoadAverage metric from the local server instance every 30 seconds over a retention window of 15 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average SystemLoadAverage value, over the last 15 minutes, is less than 0.2 on this server instance.

ServerLowHeapFreePercent

This smart rule determines whether an increase exists in heap stress within the local server in which the rule is running.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average JVMRuntimeMBean.HeapFreePercent value over the specified time interval is less than the specified low threshold value.

To use this smart rule, specify:

Syntax

wls:ServerLowHeapFreePercent("period", "duration", percentFreeLimit)
Parameter Description
period

Sampling rate for Java free heap percentage values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

percentFreeLimit

Value established as the low threshold value of the Java free heap percentage.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 5
percentFreeLimit 20

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerLowHeapFreePercent("30 seconds","5 minutes",20)

This example smart rule:

  1. Samples the value of the Java free heap percentage from the local server instance every 30 seconds over a retention window of 5 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average Java free heap percentage value, over the last 5 minutes, is less than 20 per cent on this server instance.

ServerHighIdleThreads

This smart rule determines whether a reduction in average system load exists within the local server in which the rule is running, by measuring an increase in idle threads as indicated by the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute.

You can target this smart rule on either a Managed Server or an Administration Server.

Group: Server

Description

This rule returns true if the average value of the ThreadPoolRuntimeMBean.ExecuteThreadIdleCount attribute over the specified retention window is greater than or equal to the specified threshold value.

To use this smart rule, specify:

Syntax

wls:ServerHighIdleThreads("period", "duration", idleThreadsLimit)
Parameter Description
period

Sampling rate for ExecuteThreadIdleCount values, expressed as a String. For example, 30s specifies that this metric is sampled every 30 seconds.

  • The default time unit is seconds.

  • The default value is 30s.

See sampling rate for more information about specifying this parameter.

duration

Period of time for which collected samples are retained, expressed as a String.

  • The default time unit is seconds.

  • The default value is 10m.

See retention window for more information about specifying this parameter.

idleThreadsLimit

Value established as the high threshold value of the ExecuteThreadIdleCount attribute.

Example

The smart rule shown in this example uses the following input parameters:

Parameter Value
period 30
duration 10
idleThreadsLimit 20

The smart rule that uses the preceding parameters is expressed as follows:

wls:ServerHighIdleThreads("30 seconds","10 minutes",20)

This example smart rule:

  1. Samples the value of the ExecuteThreadIdleCount metric from the local server instance every 30 seconds over a retention window of 10 minutes.

  2. At the end of the retention window, fires the associated action if the following condition evaluates to true:

    The average ExecuteThreadIdleCount value, over the last 10 minutes, is greater than or equal to 20 on this server instance.