miércoles, 14 de agosto de 2013

WLST Ejemplos y Comandos


  Por Victor Lopez . . .
WebLogic Scripting Tool (WLST)

Que es WLST?

WLST es una interfaz de línea de comando que permite:
  • Configurar instancias de WLS y dominios.
  • Administrar y dejar de modo persistente los cambios de configuraciones.
Para obtener un acceso a WLST en un entorno no seguro se utilizara:
java weblogic.WLST

Para obtener acceso a WLST en un entorno seguro se utilizara
java -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST

Modos De WLST

WLST Online (Conectado a un servidor en ejecución):
  • WLST proporciona acceso simplificado a los MBeans.
  • Puede llevar a cabo las tareas administrativas e iniciar los cambios de configuración WLS mientras está conectado a un servidor en ejecución.
WLST Offline (No conectado a un servidor en ejecución):
  • WLST tiene acceso limitado a los archivos persistentes.
  • Puedes crear un nuevo dominio o actualizar un dominio existente sin necesidad de conectarse a un WLS en ejecución, esta funcionalidad se asemeja a la del asistente de configuración.

Comandos Básicos

Comando
Descripción
Uso
Activate() Activa los cambios guardados en la sesión de edición actual. Online
cancelEdit() Cancela la sesión de edición actual.
Online

cd() Navega por la jerarquía de configuración o runtime Online u Offline
configToScript() Convierte una configuración de servidor existente a un script de WLST ejecutable. Online u Offline
connect() Conecta WLST a una instancia de servidor de WebLogic. Online u Offline
disconnect() Desconecte WLST desde una instancia de WebLogic Server. Online
dumpStack() Ver seguimiento de la pila de la última excepción que se produjo en el desempeño de una acción WLST y restablecer el seguimiento de la pila. Online u Offline
execfile() Ejecuta un script() Online u Offline
exit() Salir de WLST Online u Offline
get() Regresa el valor específico de un atributo. Online u Offline
ls() Lista todos los Beans hijos y/o atributos para la configuración actual o runtime Bean. Online u Offline
man() Mostrar ayuda de MBeanInfo para el MBean actual o su atributo especificado. Online
nm() Determina si WLST está conectado a Node Manager. Online
nmConnect() Conecta WLST a Node Manager para establecer una sesión. Online u Offline
nmDisconnect() Desconecta WLST de una sesión de Node Manager. Online u Offline
nmEnroll() Enrola la máquina para recibir las configuraciones en la sesión actual de WLST. Online
nmKill() Mata el servidor especificado que fue iniciado con Node Manager. Online
nmLog() Muestra los registros del Node Manager. Online u Offline
nmServerLog() Muestra la salida de registros del servidor especificado. Online u Offline
nmServerStatus() Muestra el estado del servidor especificado iniciado con Node Manager. Online u Offline
nmStart() Inicia un servidor en el dominio actual usando Node Manager. Online u Offline
nmVersion() Muestra la versión de Node Manager Online u Offline
pwd() Muestra la localización actual. Online u Offline
save() Guarda los cambios que se han realizado y que aún no han sido salvados. Online
set() Establece el atributo para la configuración actual del Bean. Online u Offline
shutdown() Apaga exitosamente un servidor o cluster en ejecución. Online
start() Inicia un servidor manejado o un cluster usando Node Manager. Online
startEdit() Inicia una sesión de edición. Online
startNodeManager() Inicia el Node Manager. Online u Offline
startRecording() Registre todas las interacciones del usuario con WLST, útiles para la captura de comandos. Online u Offline
startServer() Inicia el Admin Server Online u Offline
stopEdit() Detiene la sesión de edición, y descarta los cambios no guardados. Online
stopNodeManager() Detiene Node Manager. Online u Offline
stopRecoding() Detiene la grabación de comando WLST. Online u Offline
suspend() Suspende un servidor en ejecución. Online

Enrolar Un Dominio

 

nmEnroll se utiliza para enrolar a un equipo o se puede decir para enrolar a un dominio con el gestor de nodos, porque si se tiene múltiples dominios (de diferentes instaladores) que se ejecutan en un equipo éste que puede manejar todo con un solo gestor de nodos, pero hay que enrolar cada dominio con el mismo gestor de nodos.

Esto se aplica si se tienen dominios de diferentes oracle_home o se puede decir de diferentes dominios instalados en el mismo host (significa que tiene más de una instalación de WebLogic en el mismo host con cada instalador tiene su diferente host).

Para enrolar un dominio con un Node Manager en particular, seguiremos los siguientes pasos:

1.- Seteamos variables de entorno de nuestro dominio Weblogic
$ . /u10/middleware/user_projects/domains/x15_domain/bin/setDomainEnv.sh

2.- Una vez las variables de entorno estén listas, ejecutaremos el WLST con el siguiente comando.
$ java weblogic.WLST


3.- Con esto iniciaremos el WLST en modo offline. Ejecutaremos la siguiente línea de comando para entrar al modo Online.

Nota: para poder conectar con el Admin Server, debe de estar corriendo tu script starWeblogic.sh

> connect ('weblogic','condor321','t3://10.10.10.101:7001')

 4.- Conectaremos al NodeManager con el siguiente comando.

Nota: para poder conectar con el Node Manager, se debe encontrar en ejecución.
>nmConnect('weblogic','condor321','10.10.10.101','5556','x15_domain','/u10/middleware/user_projects/domains/x15_domain/','plain')


5.- Y por último enrolamos el dominio con el Node Manager

>nmEnroll('/u10/middleware/user_projects/domains/x15_domain','/u10/middleware/wlserver_10.3/common/nodemanager')


Y con esto las configuraciones próximas estarán asociadas sólo con el dominio especificado, y así evitar que todos los dominios sean modificados.

Creación Scripts Y Configuraciones Básicas

Existen dos formas de crear un script s:
  • Con el comando startRecoding () que activara la grabación de todos los comando que se ejecuten en el WLST.

  • Con el comando configToScript () con el que se creara un script a partir de una configuración de un servidor.

  • Otra de las maneras poco ortodoxas es crear el archivo Python y manualmente agregar las sentencias de WLST.
 

Creación de un script con configToScript ().

A continuación se presenta la sintaxis del comando para generar el script.
configToScript ([domainDir], [scriptPath], [overwrite], [propertiesFile], [deploymentScript])
  • El domainsDir que contiene la configuración que desea convertir (por defecto es. / Config)
  • La ruta de acceso al directorio en el que desea escribir el script WLST convertido (por defecto es. / Config / config.py)
  • Ya sea para sobrescribir el script si ya existe (por defecto es true)
  • La ruta de acceso al directorio en el que desea almacenar el archivo de propiedades (predeterminado en nombre de ruta especificado para scriptPath)
  • Ya sea para crear un script que realiza sólo implementaciones (por defecto es false)
Por ejemplo:

>configToScript ('/middleware/user_projects/domains/base_domain','/home/weblogic/')

Creación de un script básico con startRecording ().

En este apartado crearemos un Managed Server junto con su Maquina respectiva y un Cluster y los asignaremos.

1.- iniciamos a grabar con el comando:
>startRecording(‘ruta’)

En la imagen se nota que encendimos el admin server con el comando.
>startServer('AdminServer','usuario','t3://170.20.40.8:7001')

2.- nos logueamos al admin server
connect('usuario','contraseña','t3://localhost:7001')


 3.- entrar en el modo edición
>edit()


4.-crearemos un servidor manejado
startEdit() //iniciar la edición de WebLogic.

cd('/') // cambia carpeta raíz del modo edición
cmo.createServer('nombre') // comando para crear el servidor.
cd('/Servers/{Server}') // cambiar la carpeta para editar parámetros del servidor.
cmo.setListenAddress('IP') // asigna la ip escucha del servidor.
cmo.setListenPort(puerto) // asigna el puerto escucha del servidor.
save() // guardar cambios.
activate() // activa los cambios.


Nota: al guardar y activar los cambios la sesión de edición se cierra.

5.- al terminar se creara la maquina donde se alojara el managed server que se creó.
startEdit() //iniciar la edición de WebLogic.
cd('/') // cambia carpeta raíz del modo edición
cmo.createUnixMachine ('nombre') // crear una maquina Unix
cd('/Machines/{nombre}/NodeManager/{nombre}') //cambiar a la ruta de los parámetros del Machine.
cmo.setNMType('Plain') //tipo de encriptación.
save() // guardar cambios.
activate() // activa los cambios.


6.- Seguido, se asociara el managed server(test) a la máquina(Mtest), sin cluster y la seguridad en modo “plain”.

startEdit() //iniciar la edición de WebLogic.
cd('/Servers/{servidor}') // carpeta del servidor.
cmo.setMachine(getMBean('/Machines/{machine}')) //asigna el servidor al machine
cmo.setCluster(None) // asigna el cluster.
cd('/Servers/{Servidor}/SSL/{Servidor}') // archivos de seguridad del servidor.
cmo.setEnabled(false) // Habilitar o deshabilitar SSL
save() // guardar cambios.
activate() // activa los cambios.


7.- proseguimos con la creación del cluster.

startEdit() //iniciar la edición de WebLogic.
cd('/') // cambia carpeta raíz del modo edición.
cmo.createCluster('{Cluster}') // Creación del Cluster.
cd('/Clusters/{Cluster}') // carpeta de configuración de Cluster.
cmo.setClusterMessagingMode('unicast') // método de difusión del cluster.
cmo.setClusterBroadcastChannel('IP') // Canal de escucha del cluster.
save() // guardar cambios.
activate() // activa los cambios.

8.- se asigna el Managed Server (test) al cluster (Ctest)

startEdit() //iniciar la edición de WebLogic.
cd('/Servers/{Server}') // carpeta de configuración del Servidor
cmo.setCluster(getMBean('/Clusters/{Cluster}')) // asigna el Servidor al Cluster
save() // guardar cambios.
activate() // activa los cambios.

9.- y para finalizar se termina de grabar el script.

>stopRecording()
En el script que se creo debe de estar cada uno de todo el comando que usamos anteriormente para la creación del ambiente para WebLogic básico. Para ver el contenido lo haremos con gedit o vim/vi.
Nota: al crear Scripts por este medio, debemos de borrar las siguientes líneas de condigo para que el script creado no ocasione errores.

originalErr=sys.stderr
sys.stderr=originalErr
init()
evaluatePrompt()
restoreDisplay()

Nota: si vamos a la consola de administración podemos ver que los cambios realizados se encuentran visibles.

Creación de un Script Manual

Ahora se verá cómo crear un script de forma manual básico de forma manual.
En este caso:
  • Iniciar el Node Manager.
  • Loguearse al Node Manager.
  • Iniciar el Admin Server.
  • Loguearse al Admin Server
Para este caso crearemos un archivo llamado startWebLogic.py
$touch /home/weblogic/startWebLogic.py

Editamos
$vim /home/weblogic/startWebLogic.py

Y añadimos las líneas necesarias para hacer lo antes mencionado.

startNodeManager(verbose='false', NodeManagerHome='/middleware/wlserver_10.3/common/nodemanager',ListenPort='5556',ListenAddress='ip');
nmConnect('weblogic','condor123','ip','5556','base_domain','/middleware/user_projects/domains/base_domain/','plain')
nmStart('AdminServer');
connect('weblogic','condor123','t3://localhost:7001')

Ejecución de un Script en WLST

Para la ejecución de un script previamente creado utilizaremos el comando execfile()

En este caso utilizaremos startWeblogic.py que hemos creado anteriormente.
>execfile(‘ruta’)

Y debido a la naturaleza del script, al finalizar debemos de encontrarnos logueados en el Admin Server.







No hay comentarios:

Publicar un comentario