Gestión de la salud
Con la característica de gestión de la salud en Liberty, puede tomar un enfoque dirigido por política para supervisar el entorno de servidor de aplicaciones y realizar una acción cuando se descubran criterios no saludables.
Puede definir las políticas de salud, que incluyen las condiciones de salud que se van a supervisar en el entorno y las acciones de salud que se van a realizar si se cumplen estas condiciones.
Condiciones de salud
Las condiciones de salud definen las variables que desea supervisar en el entorno. El elemento de condición define qué comportamiento puede desencadenar esta política de salud. Solo se puede definir un elemento de condición por política de salud. Puede elegir entre las condiciones de salud predefinidas siguientes:
- Condición de tiempo de espera de solicitud excesivo
- Especifica un porcentaje de solicitudes HTTP que pueden agotar el
tiempo de espera. Cuando el porcentaje de solicitudes excede el valor
definido, se ejecutan las acciones de salud. El valor de tiempo de
espera depende de la configuración del entorno.
<excessiveRequestTimeout timeoutPercentage="5"/>
Nota: El direccionamiento dinámico debe estar habilitado para utilizar esta condición. - Condición de tiempo de respuesta excesivo
- Rastrea la cantidad media de tiempo que tardan las solicitudes
para completarse. Si el tiempo excede el umbral del tiempo de
respuesta definido, se ejecutan las acciones de salud.
<excessiveResponseTime responseTime="10s"/>
Nota: Las solicitudes que exceden el valor de tiempo de espera que se ha configurado para la condición de tiempo de espera de solicitud excesivo no se contabilizan con respecto a esta condición de salud. Por ejemplo, si el valor de tiempo de espera predeterminado está establecido en 60 segundos, cualquier solicitud que excede los 60 segundos agotará el tiempo de espera y no se incluye en el cálculo del tiempo de respuesta medio para esta condición de salud. Esta restricción se aplica aunque no tenga definida una condición de tiempo de espera de solicitud excesivo.Nota: El direccionamiento dinámico debe estar habilitado para utilizar esta condición. - Condición de memoria: uso excesivo de memoria
- Rastrea el uso de la memoria para un miembro. Cuando el uso
de la memoria excede un porcentaje del tamaño de almacenamiento
dinámico durante un periodo de tiempo especificado, se ejecutan
acciones de salud.
<excessiveMemoryUsage heapSizePercentage="85" timePeriod="5m"/>
- Condición de memoria: pérdida de memoria
- Cuando se detecta una tendencia descendente en la memoria
libre, se ejecutan acciones de salud.
<memoryLeak/>
Acciones de salud
Las acciones de salud definen las actividades para realizar cuando no se cumple una condición de salud. Los elementos de acción definen qué acción se realizará en respuesta a una condición detectada. Todas las acciones comparten el tipo de elemento de <action>. El atributo de acción determina qué acción se realiza y se pueden definir varias acciones para cada política de salud. Las acciones se ejecutan en el orden en el cual se han especificado en la política. La tabla siguiente lista las acciones de salud que están soportadas en entornos de servidor Liberty.
Acción de salud | Servidores Liberty que se ejecutan en el mismo controlador colectivo |
---|---|
Reiniciar servidor | Soportado |
Realizar volcados de hebra | Soportado |
Realizar vuelcos de almacenamiento dinámico de máquina virtual Java™ (JVM) | Soportado para servidores que se ejecutan en el IBM® JRE o JDK |
Poner el servidor en modalidad de mantenimiento | Soportado |
Sacar el servidor de la modalidad de mantenimiento | Soportado |
<action action="generateThreadDump"/>
<action action="generateHeapDump"/>
<action action="restartServer"/>
<action action="enterMaintenanceMode"/>
<action action="exitMaintenanceMode"/>
Destinos de la salud
- Un host
<host hostName="someHost"/>
- Cada uno de los servidores de un clúster
<cluster clusterName="someCluster"/>
- Un único servidor
<server hostName="Host" wlpUsrDirectory="/opt/ibm/liberty/wlp" serverName="Server"/>
Cada tipo de destino tiene un elemento exclusivo que se utilizar para definirlo dentro del elemento healthPolicy. Se puede especificar más de un destino por política de salud.