Resolución de problemas de administración y de la consola de administración
- El proceso servidor de aplicaciones (como server1)
- El proceso del gestor de despliegue del producto WebSphere Application Server, Network Deployment
El proceso debe estar ejecutándose para poder utilizar la consola administrativa. El programa de utilidad de línea de mandatos wsadmin tiene una modalidad local que se puede utilizar para realizar algunas funciones administrativas, incluso cuando el proceso servidor no está ejecutándose.
- El estado del servidor y los mensajes de la vista de la consola no son actuales
- Falla la autorización basada en roles
- Cuando se inicia o se detiene un servidor utilizando una sesión de scripts interactiva de wsadmin, se recibe una excepción indicando que se ha excedido el tiempo de espera de lectura.
- Problemas al iniciar o utilizar la consola administrativa o el programa de utilidad wsadmin
- El método AdminConfig.parents no se puede utilizar para obtener los tipos de padre válidos de algunos tipos de configuración
El estado del servidor y los mensajes de la vista de la consola no son actuales
- Bajo la columna de estado de la vista Servidores de un panel de la consola administrativa, el estado del servidor no se renueva.
- Los mensajes del servidor no se actualizan en la consola de administración.
- Se produce un descenso de los recursos del sistema ya que se crean varios puertos y se dejan en estado TIME_WAIT.
El problema se produce porque el conector SOAP no da soporte a la agrupación de conexiones. Si el servidor de aplicaciones tiene muchas operaciones en curso que utilizan el conector SOAP, el servidor de aplicaciones abre y cierra rápidamente muchos puertos. Debido a la naturaleza del protocolo TCP/IP subyacente, estos puertos permanecen en estado TIME_WAIT durante algún tiempo antes de que el sistema operativo pueda reclamarlos. El número de puertos que WebSphere Application Server abre puede superar el límite impuesto por el sistema operativo. En este estado, la apertura de puertos adicionales falla mediante el conector SOAP hasta que el sistema operativo reclama los puertos.
- Aumente los límites del sistema operativo en relación con el número de puertos
- Para Rational Application Developer, el programa de utilidad wsadmin o las aplicaciones Java™ que utilicen los conectores de JMX (Java Management Extension), pase al conector RMI (Remote Method Invocation).
- Espere hasta que haya pocos o ningún puerto en estado TIME_WAIT antes de realizar nuevas operaciones mediante Rational Application Developer o la consola administrativa.
Falla la autorización basada en roles
SECJ0305I: Ha fallado la comprobación de autorizaciones basada en roles para el nombre de seguridad server.domain.name:3890/user.id,
accessId user:server.domain.name:3890/uid=user.id,ou=xxxx,dc=yyy,dc=zzz mientras invoca el método
getNodeName en el servidor de recursos y en el servidor del módulo.
Si no se puede asignar al emisor de la aplicación uno de los roles administrativos, la aplicación puede iniciar la sesión con uno de los roles en nombre del emisor. Por
ejemplo: try
{
// Crear un LoginContext para autenticar un ID de usuario y una contraseña.
javax.security.auth.login.LoginContext
lc = new javax.security.auth.login.LoginContext("WSLogin",
new com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl("usuarioAdmin",
"contraseñaAdmin"));
// efectuar el inicio de sesión
lc.login();
// Obtener el sujeto autenticado.
javax.security.auth.Subject adminSubject = lc.getSubject();
// Definir la acción que se llevará a cabo utilizando el sujeto autenticado
// Puede definir esta acción en cualquier lugar del código, la acción
// es la referencia en WSSubject.doAs que se indica a continuación.
java.security.PrivilegedAction adminAction = new java.security.PrivilegedAction()
{
public Object run()
{
try
{
// Obtener el servicio administrativo de WebSphere. AdminService adminservice = AdminServiceFactory.getAdminService();
// Obtener la instancia del MBean local de admnistración de WebSphere. ObjectName objectname = adminservice.getLocalServer();
// Obtener el nombre de nodo. String nodeName = (String)adminservice.getAttribute(objectname, "nombreNodo");
// Obtener el nombre del servidor de aplicaciones. String serverName = (String)adminservice.getAttribute(objectname, "nombre");
// Obtener el ID de proceso del servidor de aplicaciones. String serverPid = (String)adminservice.getAttribute(objectname, "pid");
// Devolver un resultado, para este ejemplo, devolver simplemente el serverPid.
return serverPid;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
});
// Invocar un recurso de cliente administrativo mediante el sujeto autenticado.
// Este ejemplo muestra la acción de crear un cliente
// administrativo y devolver un valor de serie para utilizar fuera del
// bloque doAs.
String myData = (String)
com.ibm.websphere.security.auth.WSSubject.doAs(adminSubject, adminAction);
// utilizar "myData" posteriormente....
}
catch (javax.security.auth.login.LoginException e)
{
e.printStackTrace();
}
Cuando se inicia o se detiene un servidor utilizando una sesión de scripts interactiva de wsadmin, se recibe una excepción indicando que se ha excedido el tiempo de espera de lectura.
WASX7015E: Excepción al ejecutar el mandato: "$AdminControl startServer server1 Node1;"
información de excepción: com.ibm.websphere.management.exception.ConnectorException
org.apache.soap.SOAPException: [SOAPException: faultCode=SOAP-ENV:Client; msg=Read
timed out; targetException=java.net.SocketTimeoutException: Read timed out]
Esta excepción se produce porque el valor del tiempo de espera es
demasiado pequeño. Aumente el valor de tiempo excedido especificado mediante
la propiedad com.ibm.SOAP.requestTimeout en el archivo soap.client.props del directorio raíz_perfil/properties para una edición de un solo servidor o en el directorio raíz_perfil/properties para una instalación Network Deployment. El valor que elija
dependerá de diversos factores como, por ejemplo, el tamaño y el número de
las aplicaciones que están instaladas en el servidor, la velocidad de la
máquina y el nivel de utilización de la máquina. El valor predeterminado de la propiedad com.ibm.SOAP.requestTimeout es de
180 segundos.
Esta excepción se produce porque el valor del tiempo de espera es
demasiado pequeño. Para solucionar este problema, aumente el valor de tiempo excedido
especificado mediante la propiedad com.ibm.SOAP.requestTimeout en
el archivo soap.client.props en el directorio
raíz_perfil/properties
para una edición de un solo servidor o en el directorio
raíz_perfil/properties
para una instalación de Network Deployment. El valor que debe elegir
dependerá de diversos factores como, por ejemplo, el tamaño y el número de
las aplicaciones que están instaladas en el servidor, la velocidad de la
máquina y el nivel de utilización de la máquina. El valor predeterminado de la propiedad com.ibm.SOAP.requestTimeout es de
180 segundos.
Problemas al iniciar o utilizar la consola administrativa o el programa de utilidad wsadmin
- En el proceso de servidor de aplicaciones, consulte estos archivos:
raíz_perfil/logs/server_name/startServer.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor server1 abierto para e-business; el ID de proceso es nnnn..
raíz_perfil/logs/server_name/startServer.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor server1 abierto para e-business; el ID de proceso es nnnn..
raíz_perfil/logs/nombre_servidor/SystemOut.log
raíz_perfil/logs/nombre_servidor/SystemOut.log
Los archivos de anotaciones cronológicas del servidor para el mensaje que indica que el servidor se ha iniciado correctamente: WSVR0001I: Servidor server abierto para e-business.
- En el producto WebSphere Application Server, Network Deployment, consulte estos archivos:
raíz_perfil/logs/dmgr/startServer.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor dmgr abierto para e-business; el ID de proceso es nnnn.
raíz_perfil/logs/dmgr/startServer.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor dmgr abierto para e-business; el ID de proceso es nnnn.
raíz_perfil/logs/dmgr/SystemOut.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor dmgr abierto para e-business; el ID de proceso es nnnn.
raíz_perfil/logs/dmgr/SystemOut.log para el mensaje que indica que se ha iniciado correctamente el servidor: ADMU3000I: Servidor dmgr abierto para e-business; el ID de proceso es nnnn.
Los archivos de registro del servidor para este mensaje que indican que el servidor se ha iniciado correctamente: WSVR0001I: Servidor dmgr abierto para e-business.
Para el producto z/OS, compruebe la salida del trabajo.
- Consulte los mensajes de error que pueden aparecer en la tabla de referencia de mensajes para estos archivos. Seleccione la vista Referencia en la navegación del centro de información y luego pulse Mensajes. Un mensaje similar a WASX7213I: Este cliente de script no está conectado a un proceso de servidor cuando intenta iniciar wsadmin indicará que el proceso de servidor no está ejecutándose, o bien que la máquina en la que está ejecutándose no está accesible o bien que el nombre de puerto o de servidor que ha utilizado wsadmin no son correctos.
- Compruebe que esté utilizando el número de puerto correcto para comunicarse con la consola administrativa o con el servidor wsadmin:
Busque el archivo SystemOut.log.
Busque el archivo joblogs.
- La línea ADMC0013I: El conector SOAP está disponible en el puerto nnnn indica el puerto que está utilizando el servidor para escuchar las funciones de wsadmin.
La propiedad com.ibm.ws.scripting.port del archivo raíz_perfil/properties/wsadmin.properties controla el puerto que utiliza el programa de utilidad wsadmin para enviar solicitudes al servidor.
La propiedad com.ibm.ws.scripting.port del archivo raíz_perfil/properties/wsadmin.properties controla el puerto que utiliza el programa de utilidad wsadmin para enviar solicitudes al servidor.
Si el valor de puerto es diferente del valor que aparece en el archivo SystemOut.log, cambie el número de puerto del archivo wsadmin.properties o especifique el número de puerto correcto cuando inicie el programa de utilidad wsadmin utilizando la propiedad -port número_puerto en la línea de mandatos.
La propiedad com.ibm.ws.scripting.port del archivo raíz_perfil/properties/wsadmin.properties controla el puerto que utiliza el programa de utilidad wsadmin para enviar solicitudes al servidor.
Si el valor del puerto es diferente del valor que aparece en el archivo SystemOut.log, cambie el número de puerto en el archivo wsadmin.properties o especifique el número de puerto correcto cuando inicie el programa de utilidad wsadmin mediante la propiedad -port número_puerto en la línea de mandatos.
La propiedad com.ibm.ws.scripting.port del archivo raíz_perfil/properties/wsadmin.properties controla el puerto que utiliza el programa de utilidad wsadmin para enviar solicitudes al servidor.
Si el valor del puerto es diferente del valor que aparece en los archivos de registro del servidor, cambie el número de puerto en el archivo wsadmin.properties o especifique el número de puerto correcto cuando inicie el programa de utilidad wsadmin mediante la propiedad -port número_puerto en la línea de mandatos.
El mensaje SRVE0171I: El transporte http está atendiendo al puerto nnnn (valor predeterminado 9060) indica el puerto que utiliza el servidor para escuchar las solicitudes de la consola de administración.
- Si el valor del puerto es diferente del que se especifica en la dirección web de la consola de administración, cambie la dirección web del navegador por el valor correcto. El valor predeterminado es http://localhost:9060/ibm/console.
- Utilice el mandato telnet para comprobar si el nombre de host en el que se ejecuta el servidor de aplicaciones o el gestor de despliegue se puede alcanzar desde el sistema en el que se está utilizando el navegador o el programa wsadmin. Si puede ejecutar ping para el nombre de host, no existe ningún problema de cortafuegos o conectividad.
- Si el host en que está ejecutándose el servidor de
aplicaciones o el gestor de despliegue es remoto
en relación con la máquina en la que está ejecutándose el navegador del
cliente o el mandato wsadmin, asegúrese de que sea correcto el parámetro
nombre_host adecuado. Compruebe:
- El nombre de host de la dirección web del navegador de la consola.
- La opción -host nombre_host del mandato wsadmin que se utiliza para dirigir wsadmin al servidor correcto.
Es posible que el soporte técnico de WebSphere Application Server le solicite que efectúe un rastreo del componente administrativo para determinar mejor el problema. La especificación de rastreo para este componente es com.ibm.websphere.management.*=all=enabled:com.ibm.ws.management.*=all=enabled"
El método AdminConfig.parents no se puede utilizar para obtener los tipos de padre válidos de algunos tipos de configuración
wsadmin>print AdminConfig.parents( "JavaVirtualMachine")
Se devuelve el siguiente mensaje informativo:WASX7351I: El mandato parents no se puede utilizar para buscar los padres de tipo "JavaVirtualMachine"
#---------------------------------------------------------------------
# Name: parentTypes()
# Role: To search for configuration types that may contain objects of
# the specified type should the result of calling
# AdminConfig.parents( Type )
# be:
# WASX7351I: The parents command cannot be used to find the parents of type ...
# Note: Unlike the AdminConfig.list() command, this routine will not
# raise an InvalidConfigDataTypeException for an unknow datatype
#---------------------------------------------------------------------
def parentTypes( Type ) :
import os
WSAStypes = AdminConfig.types().splitlines()
if Type in WSAStypes :
result = AdminConfig.parents( Type )
if result.startswith( 'WASX7351I' ) :
result = []
for thisType in WSAStypes :
if AdminConfig.attributes( thisType ).find( Type ) > -1 :
result.append( thisType )
result = (os.linesep).join( result )
else:
print 'parentTypes error: unknown / unrecognized type:', Type
result = None
return result
Si ninguno de estos pasos resuelve el problema, compruebe si el
problema específico que está tratando queda cubierto en el tema
La instalación se completa pero la consola de administración no se inicia. Compruebe si el problema se ha identificado y documentado utilizando los enlaces de Diagnóstico y solución de problemas: recursos de aprendizaje. Si no encuentra ningún problema parecido al suyo o si la
información proporcionada no resuelve el problema, póngase en contacto con el servicio de soporte de IBM para obtener más ayuda.
Si ninguno de estos pasos resuelve el problema, compruebe si el
problema específico que está tratando queda cubierto en el tema
La instalación se completa pero la consola de administración no se inicia. Compruebe si el problema se ha identificado y documentado utilizando los enlaces de Diagnóstico y solución de problemas: recursos de aprendizaje.