Monitorizar un Dominio WebLogic
Introducción a la Monitorización
La herramienta para monitorizar la salud y el rendimiento de nuestro dominio WebLogic es la Consola de Administración. Esta consola nos permite ver el estado y las estadísticas de los recursos WebLogic, como servidores, HTTP, el subsistema JTA, JNDI, la seguridad, los almacenes de conexiones CORBA, EJB, JDBC, y JMS.
La información monitorizada se presenta en el panel derecho de la Consola de Administración. Accedemos a una página seleccionando un contenedor o subsistema, o una entidad particular bajo un contenedor, o el árbol de dominio en el panel izquierdo.
La Consola de Administración proporciona tres tipo de páginas que contienen información de monitorización:
- Páginas de pestañas de monitorización para una entidad particular (como un ejemplar de JDBC Connection Pool o el rendimiento de un servidor particular.
- Tablas de datos sobre todas las entidades de un tipo particular (como una tabla de Servidores WebLogic).
- Vistas del log de dominio y los logs de los servidores loclaes.
La Consola de Adminstración obtiene información sobre los recursos del dominio desde el Servidor de Administración. Este servidor, a su vez, está lleno de Management Beans (MBeans), basados en el estándar Java Management Extension (JMX) de Sun, que proporcionan el esquema de control de acceso a los recursos de dominio.
El Servidor de Administración contiene MBeans de configuración, que controlan la configuración del dominio y MBEans de tiempo-de-ejecución. Éstos últimos proporcionan una "foto" de los recursos del dominio, como el uso de memoria de la JVM, o el estado de los servidores WebLogic. Cuando se ejemplariza un recurso particular del dominio (como una aplicación Web) , se crea un ejemplar MBean que recolecta información sobre ese recurso particular.
Cuando accedemos a la página de monitorización de recursos particulares en la Consola de Administración, ésta realiza una operación GET para recuperar los valores actuales de los atributos.
Las siguientes secciones describen algunas de las páginas de monitorización que son útiles para controlar un dominio WebLogic. Estas páginas se han seleccionado simplemente para ilustrar las facilidades proporcionadas por la Consola de Administración.
Monitorizar Servidores
La tabla de servidores y las páginas de pestañas de monitorización para servidores individuales nos permiten monitorizar los Servidores WebLogic. La tabla de servidores proporciona un sumario del estado de todos los servidores de nuestro dominio. Si sólo se ha reenviado un pequeño conjunto de los mensajes de log desde el servidor hasta el log de dominio, podría ser útil acceder al servidor local para resolver problemas o buscar eventos.
Para más información sobre los ficheros de log y el subsistema de logging, puedes ver Usar los Mensajes de Log para Controlar Servidores WebLogic
Podemos acceder a los datos de monitorización de cada servidor WebLogic desde las pestañas de monitorización de ese servidor. La pestaña Logging proprociona acceso al log local de ese servidor (es decir, el log de la máquina donde se está ejecutando el servidor).
La página de la pestaña Monitoring --> General indica el estado actual y proporciona acceso al árbol JNDI, la tabla Execute Queues, la tabla Active Sockets, y la tabla Connections. La tabla Execute Queues proporciona información de rendimiento como la pétición pendiente más vieja, y el número de peticiones pendientes en este momento.
Apagar o Suspender un Servidor
La pestaña Monitoring --> General también nos permite apagar o suspender un servidor. Si se suspende un servidor, éste sólo aceptará peticiones del Servidor de Administración. Las peticiones de clientes serán ingnoradas.
Rendimiento
La pestaña Monitoring --> Performance nos muestra un gráfico en tiempo real del uso de la pila de memoria de la JVM, las peticiones servidas, y las peticiones en espera. Esta página también nos permite forzar a la JVM a que realice la recolección de basura sobre la pila de memoria.
La pila Java es un repositorio de objetos Java (vivos y muertos). Normalmente no necesitamos realizar la recolección de basura manualmente porque la JVM lo hace automáticamente. Cuando la JVM empieza a salirse de la memoria, para la ejecución y usa un algoritmo de recolección de basura para liberar el espacio que ya no utilizan las aplicaciones Java.
Por otro lado, los desarrolladores que están depurando aplicaciones podrían tener ocasión de forzar la recolección de basura manualmente. Esta recolección manual podría ser útil, por ejemplo, para comprobar picos de memoria que consume rápidamente la JVM.
Datos de Cluster
La pestaña Monitoring --> Cluster proporciona información sobre el cluster al que pertenece el servidor (como el número de servidores que están vivos actualmente).
Seguridad del Servidor
La pestaña Monitoring --> Security proporciona estadísticas sobre los intentos de login inválidos y los usuarios bloqueados y desbloqueados.
JMS
La pestaña Monitoring --> JMS proporciona estadísticas sobre los servidores y conexiones JMS. Esta página también proporciona enlaces a las tablas de conexiones y servidores JMS activos, que monitorizan dichos atributos como sesiones totales actuales.
JTA
La pestaña Monitoring --> JTA proporciona estadísticas sobre el subsistema de transaciones Java como el total de transaciones y las devueltas. La página proporciona enlaces a tablas que listan las transaciones por recurso y nombre, y una tabla con las transaciones en-vuelo.
Monitorizar Almacenes de Conexiones JDBC
Los recursos del subsistema Java Database Connectivity (JDBC) también pueden ser monitorizados mediante la Consola de Administración. La pestaña Monitoring para almacenes de conexiones JDBC nos permite acceder a una tabla que lista las estadísticas de los ejemplares de ese almacen. Al igual que en otras tablas de entidades de la Consola de Administración, podemos personalizar la tabla para seleccionar los atributos que queremos ver.
Muchos de estos atributos proporcionan información importante para el control de acceso de los clientes a la base de datos.
El campo Waiters High indica el mayor número de clientes que han esperado una conexión en un momento dado. El campo Waiters nos dice cuántos clientes hay esperando una conexión actualmente. El campo Connections High indica el mayor de número de conexiones que han ocurrido en un momento dado. El campo Wait Seconds High nos dice el tiempo máximo que un cliente ha estado esperando una conexión a la base de datos. Estos atributos nos permiten medir la eficiencia de nuestra configuración actual en respuesta a las peticiones de clientes.
Si el valor del campo Connections High está cerca del valor del campo Maximum Capacity (configurado en la pestaña Configuration Connections), podríamos considerar incrementar el valor de Maximum Capacity (el número máximo de conexiones concurrentes). Si el valor del campo Waiters High indica que los clientes están sujetos a largos tiempos de espera para acceder a la base de datos, podríamos querer incrementar el tamaño del almacen.
El valor del campo Shrink Period es el tiempo que el subsistema JDBC espera antes de reducir desde el máximo. Cuando el subsitema reduce el almacen, las conexiones a bases de datos son destruidas. Crear una conexión de base de datos consume recursos y puede consumir mucho tiempo. Si nuestro sistema tiene sobrecargas intermitentes de peticiones de clientes, un corto Shrink Period podría significar que las conexiones a la base de datos se están re-creando continuamente, lo que podría degradar el rendimiento.
Sumario de Páginas de Monitorización en la Consola de Administración
La siguiente tabla lista las tablas y páginas de pestañas de monitorización disponibles en la Consola de Administración.
| Página |
Camino |
Datos mostrados |
| Páginas de pestañas de Monitorización | | |
Información general
del Servidor |
servername --> Monitoring --> General |
Estado y tiempo de activación |
Rendimietno del
Servidor |
servername --> Monitoring --> Performance |
Gráfico en tiempo real de las peticiones servidas, uso de memoria de la JVM y peticiones en espera |
Estadísticas de
Cluster |
servername --> Monitoring --> Cluster |
Estadísitcas sobre los clusters como el número de servidores vivos y los fragmentos envíados y recibidos. |
Seguridad del
Servidor |
servername --> Monitoring --> Security |
Número de intentos de login inválidos, total de usuarios bloqueados y desbloqueados, y otras estadísiticas de seguridad |
Información de
Versión de Servidor |
servername --> Monitoring --> Version |
Versión del JDK, WebLogic, sistema operativo. |
| Cluster |
Clusters --> clustername --> Monitoring |
Información sobre los servidores participantes |
| Tablas de Entidades | | |
| Servers |
Servers |
Datos especificos del servidor, como el uso de memoria, tiempo de arrancada, estado, participación del cluster, intentos de login fallidos, estado de la pila, contador de sockets y total de re-arrancadas. |
| Execute Queues |
servername --> Monitoring --> General --> Monitor Execute Queues on this server |
Información sobre las peticiones servidas y pendientes y otros atributos. |
| Execute Sockets |
servername --> Monitoring --> General --> Monitor Active Sockets on this server |
Protocolo y otros atributos de los sockets activos |
| Connections |
servername --> Monitoring --> General --> Monitor Connections on this server |
Tiempo de conexión, dirección remota, bytes envíados y recibidos y otros atributos de conexiones. |
| Clusters |
Clusters |
Datos como el algoritmo de carga por defecto y la dirección multicast. |
Transactions By
Name |
servername --> Monitoring --> JTA --> Monitor Transactions by Name on this server |
Datos sobre las transaciones organizados por nombre |
Transactions By
Resource |
servername --> Monitoring --> JTA --> Monitor Transactions by Resource on this server |
Datos sobre las transaciones organizados por recursos |
Active
Transactions |
servername --> Monitoring --> JTA --> Monitor In-flight Transactions on this server |
Datos sobre las transaciones en-vuelo en este servidor |
| Machines |
Machines |
Direcciones y otros atributos de las máquinas |
| Applications |
Applications |
Lista de aplicaciones |
EJB
Deployments |
Deployments --> EJB |
URL, nombre de aplicación y otros atributos sobre cada EJB. |
| Web
Applications |
Deployments --> Web Applications |
Datos como la URL y servlet por defecto de cada aplicación Web |
Active Web
Applications |
Deployments --> Web Applications --> appname --> Monitoring -->
Monitor all instances of appname |
Datos sobre las copias desplegadas de esta aplicación Web. |
Web Application
Servlets |
Deployments --> Web Applications --> appname --> Monitoring --> Monitor all servlets for this Web
Application |
Estadísticas de la aplicación Web seleccionada, como la máxima capacidad del almacen y el tiempo de ejecución. |
Startup and
Shutdown
Classes |
Deployments --> Startup & Shutdown |
Lista las clases startup y shutdown registradas. |
JDBC
Connection
Pools |
Services --> JDBC --> Connection Pools |
Capacidad incial, incremento de capacidad y otros atributos de los almacenes de conexiones JDBC. |
JDBC
Multipools |
Services --> JDBC --> Multipools |
Balance de carga y otros atributos de JDBC Multipools |
JDBC Data
Sources |
Services --> JDBC --> Data Sources |
Nombre del almacén, nombre JNDI y otros atributos de las fuentes de datos JDBC. |
JDBC Tx Data
Sources |
Services --> JDBC --> Tx Data Sources |
Nombre del almacén, nombre JNDI y otros atributos de las fuentes de datos JDBC Tx. |
JMS Connection
Factories |
Services --> JMS --> Connection Factories |
Nombre JNDI, ID del cliente, prioridad por defecto y otros atributos de las factorías de conexiones JMS. |
| JMS Templates |
Services --> JMS --> Templates |
Datos sobre las plantillas JMS |
JMS Destination
Keys |
Services --> JMS --> Destination Keys |
Tipo de clave y otros atributos de las claves destino JMS. |
| JMS Stores |
Services --> JMS --> Stores |
Descripción de los almacenes JMS |
| JMS Servers |
Services --> JMS --> Servers |
Datos sobre los servidores JMS |
Active JMS
Services |
Services --> JMS --> Servers --> Monitor all Active JMS Services |
Marca de agua más alta para las conexiones y otros datos datos sobre servicios activos JMS. |
Active JMS
Servers |
Services --> JMS --> Servers --> Monitor all instances |
Estadísiticas sobre sesiones, mensajes pendientes y otros datos. |
Active JMS
Destinations |
Services --> JMS --> Servers --> Monitor all Active JMS Destinations |
Clientes, mensajes recibidos y otros atributos de los destinos JMS. |
Active JMS
Session Pools |
Services --> JMS --> Servers --> Monitoring --> Monitor all Active JMS Session Pools |
Marca de agua más alta de clientes y otros datos monitorizados |
JMS
Destinations |
Services --> JMS --> jmsservername --> Destinations |
Nombre JNDI y otros datos |
JMS Session
Pools |
Services --> JMS --> jmsservername --> Session Pools |
Modo de reconocimiento, sesiones máximas y otros atributos sobre almacenes de conexiones JMS. |
| XML Registries |
Services --> XML --> XML Registries |
Lista de DocumentBuilderFactories y SAXParserFactories |
WLEC
Connection
Pools |
Services --> WLEC --> WLEC Connection Pools |
Nombre de domino WebLogic Enterprise (WLE), direcciones de fallo, tamaño máximo y mínimo del almacen y otra información. |
Jolt Connection
Pools |
Services --> Jolt |
Dirección de fallo, tamaño máximo y mínimo del almacen y otros atributos de almacenes de conexiones Jolt. |
Active Jolt
Connection
Pools |
Services --> Jolt --> joltconnectionpoolname --> Monitoring --> Monitor all active pools |
Capacidad máxima, conexiones actuales, y otros datos sobre los ejemplares de un almacen de conexiones Jolt. |
| Virtual Hosts |
Services --> Virtual Hosts |
Formato, nombre del fichero log y otros atributos de los host virtuales. |
| Mail Sessions |
Services --> Mail |
Nombre y propiedades de la sesión de mail. |
| File T3 |
Services --> File T3 |
Nombre y paths de los ficheros. |
| Users |
Security --> Users |
Lista de usuarios. |
| Groups |
Security --> Groups |
Lista de grupos. |
Access Control
Lists |
Security --> ACLs |
Lista de ACLs |
| Caching Realms |
Security --> Caching Realms |
Lista de los reinos en el caché |
| Realms |
Security --> Realms |
Describe los reinos. |
Domain Log
Filters |
Domain Log Filters |
Servidores en los que el filtro está registrado y atributos usados para filtrar mensajes de log. |