viernes, 21 de marzo de 2008

BEA Virtualization - Welcome to the Java Next Level

JMX (Java Management Extensions) en WLS 8.1


Especifica estándares para automatizar la administración de dispositivos usando Java como lenguajes de control.
Desacopla la gestión de dispositivo de las herramientas de gestión.
El vendedor del dispositivo desarrolla “Management Beans” (MBeans) con su dispositivo. Asi los clientes pueden automatizar la gestión de dispositivos.

Un MBean es una construcción JMX que representa un recurso manejado. Cada recurso manejado en WLS usa MBeans para proporcionar una interfaz para monitorizar o modificar el recurso.

WLS MBeans suministra todas las operaciones estándar definidas en la especificación JMX, como:
  • Constructores para instancias MBeans.
  • Métodos para obtener y establecer los atributos de MBeans.
  • Métodos para realizar operaciones adicionales especificas de MBeans.
  • Notificaciones para eventos broadcast MBean.
WLS proporciona MBeans para administrar todos los aspectos del servidor de aplicaciones, como por ejemplo:
  • Aplicaciones (Web, EJB,...)
  • Seguridad.
  • Dominios, servidores, cluster.
  • Logs
  • Servicios (JDBC, JMS, SNMP, XML)

Las herramientas de gestión WLS están implementadas en JMX:
  • Consola de administración.
  • Comando weblogic.Admin
  • Comando weblogic.Deployer
  • Herramientas de terceros

El Tipo de un MBean, es el nombre de la interfaz sin el sufijo MBean.

El Nombre de un MBean esta disponible cuando seleccionas el objeto de la consola (mira el atributo “Name”) o usando el comado weblogic.Admin GET –type tipo

Los Atributos en un MBean, revisa los métodos de acceso y elimina el prefijo “set” o “get”, o usa el comando weblogic.Admin GET

Sintaxis:
java weblogic.Admin [-url URL] [{-username username [-password password] } | {[-userconfigfile configfile] [-userkeyfile adminkey] } ] COMANDO argumentos

CONNECT – Hace el numero especificado de conexiones a WLS y devuelve el tiempo empleado.
FORCESHUTDOWN – Termina inmediatamente un proceso WLS.
GETSTATE – Devuelve el estado actual de WLS.
HELP – Proporciona ayuda de la sintaxis y uso de los comandos.
LICENSES – Lista las licencias para todas las instancias de WLS instaladas en un servidor especifico.
LIST – Lista los nodos del arbol JNDI.
MIGRATE – Migra un servicio JMS o JTA a un servidor objetivo del cluster.
PING – Envia un mensaje para comprobar que WLS esta escuchando en un puerto.
RESUME – Cambia al servidor de estado STANBY a RUNNING.
SERVERLOG – Muestra el fichero de log de un servidor especifico.
SHUTDOWN – Para un servidor.

Ejemplos:

java weblogic.Admin -url waswas.tsm.inet:30660 -username system -password T1f0n FORCESHUTDOWN MiServidor3

java weblogic.Admin HELP PING

java weblogic.Admin -url ManagedHost:8001 -username weblogic -password weblogic THREAD_DUMP




Gestión de MBeans

CREATE – Crea un MBean de administración. Devuelve OK si tiene éxito.
DELETE – Borra un MBean. Devuelve OK a la salida estandar si tiene éxito.
GET – Muestra las propiedades de un MBean.
INVOKE – Invoca operaciones de gestión en MBean.
SET – Establece el valor a la propiedad especificada del MBean.


Todos los comandos de gestión de MBeans pueden aceptar el argumento –type, que opera sobre todos los MBeans del tipo especificado de la instancia.

java weblogic.Admin -username weblogic -password weblogic GET -type ServerRuntime -property State




Principales parámetros a monitorizar con JMX

ServerRuntime
  • State, OpenSocketsCurrentCount
ExecuteQueueRuntime
  • ExecuteThreadCurrentIdleCount, PendingRequestCurrentCount.
JVMRuntime
  • HeapSizeCurrent
JDBCConnectionPoolRuntime
  • ActiveConnectionsCurrentCount, ConnectionsHighCount, LeakedConnectionCount, ConnectionDelayTime, FailuresToReconnect



La utilidad weblogic.Deployer es una utilidad java que nos permite realizar tareas de despliegue.

Te permite desplegar una nueva aplicación, actualizar una aplicación existente, o undeploy una aplicación.

Para usar weblogic.Deployer:
  • Establece tu entorno, para que las clases de WLS estén en tu classpath y JDK. Puedes usar del script setenv para establecer el classpath.
Sintaxis:

java weblogic.Deployer [ opciones ] [-deploy | -undeploy | -redeploy | -start | -stop | -listapps] [file (s)]

Desplegar una nueva aplicación:
java weblogic.Deployer –adminurl http://admin:7001 –name vflive –source /tmp/vflive.ear –targets server1,server2 –deploy

Redesplegar una aplicación:
java weblogic.Deployer –adminurl http://admin:7001 –name vflive –redeploy


Mas información

jueves, 20 de marzo de 2008

Configura tus Network Channels en WebLogic Server 8.1


En entornos de producción, a veces es necesario segregar el tráfico de red. WebLogic nos permite controlar este trafico de red asociado a nuestras aplicaciones


Para lo cual puedes especificar la NIC y los puertos usados por los servidores manejados, especificar entre múltiples protocolos, tamaño de mensajes …

Para lo cual puedes desde la consola Administrativa crearlo en Servers>Protocols>Channels o empleando el MBean NetworkAccessPoint directamente en el fichero de config.xml, si te sucede como nos sucedió en una ocasión en la cual no podíamos acceder a la consola administrativa de WLS 8.1 gracias a una “maravillosa” regla en un Firewall.


Para lo cual, lo que hicimos fue meter en el config.xml una línea como la siguiente:


Después de añadir esta línea en el config.xml, simplemente habría que reiniciar el servidor administrativo y ya estaría todo…. Mas fácil imposible ¡!!


Este articulillo me gustaría ofrecérselo a un administrador de weblogic que sostenía que esto de los Network Channels no existia y que eran “invenciones” mías, y dedicárselo a mi joven Padawan Pablo Yuste el cual creyó en mis enseñanzas y las defendió creyendo en mi palabra.