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