Create health policies
A health policy is the definition of specific health criteria. Intelligent Management protects the environment against these criteria. The health management function uses defined policy to identify software malfunctions in the environment.
- To create a health policy, you require configurator or administrator administrative privilege. The health controller must be enabled.
- If we want a custom action to run on the target server when the health condition breaches, define the custom action before creating the health policy. For more information, read about creating health policy custom actions.
Health policies work with the health controller to monitor the operation of the servers in the environment. When the health controller detects that the servers are not meeting a defined health policy, we can take action to fix the problem. We can notify the administrator of problems, or Intelligent Management can fix the problems automatically.
- In the administrative console, click Operational policies > Health policies > New.
- Define health condition properties for the health policy.
The excessive request timeout and storm drain conditions do not apply to Java Message Service (JMS) and Internet Inter-ORB Protocol (IIOP) traffic.
Health policy conditions include the following properties:
- Set properties that pertain to the health condition selecteded. If we chose to create a custom health condition, specify a subexpression that represents the metrics that you are evaluating in the custom condition. For more information about the conditions that we can set, click Syntax help.
As a best practice, consider the cost of collecting the data, analyzing the data, and if needed, enforcing the health policy when you define a custom condition. Consider the amount of traffic in the network, especially when you scale out the number of servers that produce data. Before introducing new health policies into the production environment, analyze these aspects of the custom health conditions.
We can further configure your custom health conditions that leverage PMI modules, notably the webAppModules, at finer granularities than the server granularity. For example, we can use the subexpression builder to create a webAppModule policy as a starting point, then edit the expression to define a finer granularity:
PMIMetric_FromServerStart$webAppModule$SlamSess\#SlamSess.war\/webAppModule.servlets\/SlamSess\/responseTime > 100L
In this example, the application name is displayed as SlamSess when you list the applications in the administrative console. For an EAR file, specify the Web archive (WAR) file name after the EAR file name. If the WAR is not embedded in an EAR file, specify only the WAR file name. The SlamSess value is the servlet name that is listed in the web.xml file. The responseTime value is the statistic that is listed in the Performance Monitoring Infrastructure (PMI) module definition.
- Choose a reaction mode. Supervise mode allows the administrator to approve or reject actions before they are taken.
- Select the actions to take when the health policy conditions are not met. The available actions depend on the health condition type.These actions can be the existing default actions, or we can define custom actions to run an executable file. A list of actions are displayed in the sequence in which they run when the health condition breaches. We can add and remove steps from this list.
If we select a custom action for the health policy, you must indicate the targets for the custom action. If we select Node hosting the sick server as your target node, the target server options are Node agent of the sick server and Sick server.
- Select the members to monitor. Layers of logic can apply to monitored members. For example, you might want to apply a specific health policy to each member of a cluster and to an application server outside of the cluster.
- Review and save the health policy.
Results
We created a health policy and applied that policy to a target environment. The health controller monitors the conditions definedd for the health policy members, and takes the defined actions on the members when the conditions in the health policy breach.
What to do next
If we chose the Supervise reaction mode, then you receive recommendations to improve the health conditions. These recommendations display as runtime tasks that we can accept, deny, or close. To manage runtime tasks, click System administration > Task management > Runtime tasks in the administrative console. If we chose the Automatic reaction mode, actions to improve the health of the environment occur automatically.
For supervised reaction mode runtime tasks, we can set the JVM com.ibm.ws.xd.hmm.controller.ControlConfig.approvalTimeOutMinutes custom property, which specifies the number of minutes that can pass before a runtime task for the health controller expires. If we set the value to 5 minutes or less, the default value of 30 minutes is automatically used instead. If we do not take any actions on the runtime task, the task expires in the number of minutes specified in this property. If the runtime task expires when the health condition still exists, a new runtime task is generated.
If we configure your health policies often, consider using AdminTask commands to automate the process.
Subtopics
- (dist)(zos) Custom health condition subexpression builder
Use the custom health condition subexpression builder to define a custom health condition for the health policy. Use the build subexpression utility to build complex rule conditions from subexpressions by using AND, OR, NOT and parenthetical grouping. The subexpression builder validates the rule when you apply the changes, and alerts you to mismatched parentheses and unsupported logic operators.
- (dist)(zos) Create health policy custom actions
Use custom actions to define custom corrective tasks that we can use when a health condition broken. We can also use custom actions to invoke wasadmin scripts.
- (dist)(zos) Modify the JVM heap size
The JVM heap size setting directly relates to how many server instances can be started within a dynamic cluster on a specific node. We might need to modify the JVM heap size setting based on the environment configuration. The default value is 256 MB. Modifying the heap size can affect application placement and the health management function.
Related concepts
Health management
Related tasks
Configure health management Enable health management Create health policy custom actions
Intelligent Management: administrative roles and privileges Intelligent Management: troubleshooting health management
Related information:
Intelligent Management: health controller custom properties