En esta guía se describen los componentes Monitoring Framework 2.0 y Consola de supervisión 1.0 de Sun JavaTM Enterprise System (Java ES). Juntos, estos componentes implementan la nueva función de supervisión introducida en la versión 5.
Los procedimientos descritos en esta guía muestran cómo habilitar Monitoring Framework para cada uno de los componentes instalados y, a continuación, cómo visualizar todos los datos supervisados en Consola de supervisión. En esta guía no se documentan archivos de registro, mensajes de error ni otros mecanismos de supervisión que componentes individuales pueden implementar fuera de la estructura. Ni Monitoring Framework ni Consola de supervisión proporcionan capacidades de administración o de gestión para componentes supervisados. Para obtener información sobre la administración de un componente, consulte la propia documentación del producto correspondiente.
En este capítulo se introducen conceptos de supervisión y se presenta la arquitectura de Monitoring Framework.
Este capítulo contiene las siguientes secciones:
Sun Java System Monitoring Framework proporciona la infraestructura para instrumentar componentes y exponer sus atributos para su observación. Define una jerarquía de objetos supervisados llamada Common Monitoring Model (CMM), que se basa en la especificación de Common Information Model (CIM) estándar del sector. Cada componente de producto expone los objetos que representan sus atributos observables, y el agente de nodo agrega una vista de varios componentes en un host. Monitoring Framework proporciona también el mecanismo para recopilar estadísticas de funcionamiento y definir alarmas en función de los umbrales definidos por el usuario.
Sun Java System Consola de supervisión es la interfaz gráfica utilizada para supervisar componentes de Java ES. Incluye un agente principal que se conecta a todos los agentes de nodo de una implementación de Java ES. Consola de supervisión es una aplicación basada en web que se basa en Sun Java SystemWeb Console para poder acceder a ella en cualquier ubicación a través de HTTP. En la pantalla principal, proporciona un estado resumido de todos los componentes habilitados, incluyendo las alarmas que se hayan activado. A continuación, se puede acceder a la jerarquía de los objetos supervisados en cada componente y ver el estado detallado y los valores en tiempo real de todos los atributos supervisados. La interfaz de Consola de supervisión permite visualizar los detalles de cualquier alarma, aceptarla o crear reglas de supervisión basadas en cualquier atributo.
La supervisión es el proceso completo de recopilación de datos de tiempo de ejecución, de exposición de dichos datos y de cálculo de la calidad de criterios de servicio para que el administrador del sistema pueda evaluar el rendimiento y recibir notificación de alarmas. Durante el funcionamiento en el tiempo de ejecución, los administradores sólo deben interactuar con Consola de supervisión para ver estadísticas de rendimiento, crear reglas para supervisar de forma automática y aceptar alarmas. No obstante, para la configuración, solución de problemas y supervisión avanzada, ayuda a comprender la arquitectura de Monitoring Framework y cómo se conecta a Consola de supervisión.
La supervisión en Java ES se basa en los siguientes conceptos:
Common Monitoring Model (CMM) asegura que todos los componentes de Java ES expongan valores y objetos uniformes correspondientes a atributos comparables.
Los objetos Java definidos mediante las interfaces de CMM proporcionan una instrumentación estandarizada para los componentes del producto.
Un agente de nodo expone todos los objetos supervisados de todos los componentes instalados en un sistema, y administra las estadísticas, reglas y alarmas de dichos objetos.
Un agente principal ubicado en un host independiente agrega todos los objetos supervisados de todos los agentes de nodo y pone los datos a disposición de Consola de supervisión.
En las siguientes secciones se describe con más detalle cada uno de estos conceptos de la arquitectura de supervisión.
La base de un mecanismo de supervisión estandarizado es definir qué objetos se supervisan y la adopción de estos objetos en todos los componentes supervisados. Para este fin, la arquitectura de supervisión define Common Monitoring Model (CMM) como una ampliación de Common Information Model (CIM) mantenido por DMTF (Distributed Management Task Force). CMM es tanto un modelo de información que especifica objetos supervisados tales como un equipo, una aplicación, etc., como un modelo de datos que especifica valores uniformes tales como los valores de estado de funcionamiento. Como parte del modelo de información, CMM define también los atributos de un objeto (por ejemplo, el número de solicitudes gestionadas por un servicio) y las relaciones entre objetos, tales como el hecho de que un servicio se encuentre alojado en un determinado equipo.
Gracias a CMM, conceptos tales como aplicaciones, servicios, puntos de acceso, etc., son los mismos para todos los componentes del producto, aunque la implementación subyacente sea distinta. Por ejemplo, Web Server podría exponer un servicio que gestiona solicitudes HTTP, mientras que Directory Server podría exponer un servicio que gestiona solicitudes LDAP. No obstante, el objeto estándar capturará lo que es común a estas dos funciones, por ejemplo, la capacidad de medir el número de solicitudes gestionadas, el tiempo medio de respuesta a una solicitud en un determinado periodo de tiempo, etc.
Además, ciertos valores de datos se estandarizan para que su significado sea uniforme en todo el sistema. Por ejemplo, el estado de funcionamiento DEGRADED significa siempre que un servicio está aún disponible pero que el rendimiento se ha reducido de forma significativa, independientemente del componente de producto que se esté supervisando.
La especificación de CMM está incluida en las clases e interfaces Java utilizadas para la instrumentación, las cuales se describen en el Apéndice A, Referencia de objetos CMM.
En Monitoring Framework, la instrumentación es un conjunto de clases e interfaces Java que implementan las definiciones de CMM. Para la nueva función de supervisión incluida en Java ES, los componentes del producto han instrumentado su código para instanciar los objetos de CMM y exponer los valores de tiempo de ejecución mediante los atributos de los objetos supervisados. Los objetos de CMM que cada componente implementa determinan qué se puede supervisar y, por este motivo, algunos componentes exponen menos atributos que otros. La lista de objetos y atributos que cada componente del producto expone para la supervisión se encuentra en el Apéndice B, Objetos supervisados expuestos por cada componente.
En terminología de supervisión, un nodo es un host lógico identificado por una dirección IP o un nombre de dominio exclusivos totalmente cualificados. Un nodo puede ser un sistema completo o una zona Solaris configurada como sistema virtual. El agente de nodo se comunica con todos los componentes instrumentados de ese host y expone todos sus objetos supervisados. El agente de nodo administra también toda la lógica para recopilar estadísticas de rendimiento, supervisar umbrales definidos en reglas y generar alarmas para los objetos supervisados que contiene.
En el siguiente diagrama se representa el contenido de un agente de nodo en un único host que tiene instancias de tres componentes del producto Java ES. También se muestra la forma en que la instrumentación se instancia en el agente de nodo para exponer los valores que proporcionan los componentes del producto.
El agente de nodo se implementa como un módulo cargado en Common Agent Container, que es en sí una máquina virtual de Java. La implementación del agente de nodo se basa en JMX (Java Management Extension), que es la extensión estándar de Java para la supervisión y la administración remota. Las aplicaciones de supervisión habilitadas con JMX que entienden el modelo CMM pueden acceder a los objetos supervisados del agente de nodo. Utilizando la funcionalidad JMX, el agente de nodo puede exponer también ciertos objetos supervisados mediante el protocolo de supervisión de red simple (SNMP).
El agente principal se implementa en un equipo independiente como parte de la instalación de Consola de supervisión. El agente principal se configura con el nombre o dirección de todos los nodos para que pueda agregar los objetos supervisados de todos los agentes de nodo. El agente principal se basa también en JMX, que lo utiliza para comunicarse con los agentes de nodo, e igualmente se carga en su Common Agent Container local.
El siguiente diagrama representa un agente principal conectado a dos nodos. La Consola de supervisión se conecta al agente principal para supervisar los tres componentes en cada nodo. Si desea utilizar SNMP para supervisar, deberá realizar la conexión a cada uno de los nodos por separado, ya que el agente principal no agrega atributos de SNMP. El agente principal está diseñado para utilizarse con la Consola de supervisión solamente y no se puede acceder a él mediante otras aplicaciones de supervisión.
Si va a evaluar o implementar la función de supervisión de Java ES, le resultará más fácil realizar la instalación en el siguiente orden:
Instale y configure todos los componentes de la implementación según las recomendaciones e instrucciones indicadas en el documento Guía de instalación de Sun Java Enterprise System 5 para UNIX.
Habilite y configure Monitoring Framework para todos los componentes supervisados, como se describe en el Capítulo 2, Habilitación y configuración de Monitoring Framework.
Instale Consola de supervisión en un host independiente, inicie el agente principal y, a continuación, inicie el servidor web, como se describe en el Capítulo 3, Instalación y utilización de Consola de supervisión. Todos los componentes supervisados deben ser visibles entonces y supervisarse activamente en Consola de supervisión.
Debido a una incompatibilidad del agente de nodo y del agente principal en esta versión, Consola de supervisión debe instalarse en un host que no contenga ningún otro componente de Java ES. Consulte Solución de problemas de la Consola de supervisión para obtener más información.
Si modifica los componentes implementados después de habilitar la supervisión, deberá reiniciar el contenedor del agente principal y el servidor web de Consola de supervisión como se describe en la sección Solución de problemas de Monitoring Framework.