Résolution des incidents d'administration et de la console d'administration
- Le processus du serveur d'applications (tel que server1)
- Le processus du gestionnaire de déploiement dans le produit WebSphere Application Server, Network Deployment
Pour utiliser la console d'administration, ce processus doit être en cours d'exécution. L'utilitaire de ligne de commande wsadmin peut être exécuté en mode local pour certaines fonctions d'administration, même lorsque le processus serveur n'est pas en cours d'exécution.
- Dans la vue de la console, l'état et les messages du serveur ne sont pas à jour
- Echec de l'autorisation basée sur des rôles
- Lors du démarrage ou de l'arrêt d'un serveur utilisant une session de scriptage interactive wsadmin, vous recevez une exception indiquant que le délai de lecture a expiré (read timed out)
- Incidents lors du démarrage ou de l'utilisation de la console d'administration ou de l'utilitaire wsadmin
- La méthode AdminConfig.parents ne peut pas être utilisée pour obtenir les types parents valides de certains types de configuration
Dans la vue de la console, l'état et les messages du serveur ne sont pas à jour
- Dans la colonne d'état de la vue Serveurs d'un panneau de console d'administration, l'état du serveur ne s'actualise pas.
- Les messages du serveur ne sont pas mis à jour dans la console d'administration.
- Une baisse des ressources système se produit en raison de la création de nombreux ports laissés dans l'état TIME_WAIT.
L'incident se produit car le connecteur SOAP ne prend pas en charge la mise en pool des connexions. Si de nombreuses opérations en cours sur le serveur d'applications utilisent le connecteur SOAP, le serveur d'applications ouvre et ferme rapidement de nombreux ports. En raison de la nature du protocole TCP/IP sous-jacent, ces ports restent dans l'état TIME_WAIT pendant un certain temps avant que le système d'exploitation ne puisse les récupérer. Le nombre de ports ouverts par WebSphere Application Server peut dépasser la limite imposée par le système d'exploitation. Dans ces conditions, l'ouverture de ports supplémentaires via le connecteur SOAP échoue jusqu'à ce que le système d'exploitation récupère les ports.
- Augmentez les limites du nombre de ports du système d'exploitation.
- Pour Rational Application Developer, l'utilitaire wsadmin ou les applications Java™ qui utilisent les connecteurs Java Management Extension (JMX) accèdent au connecteur Remote Method Invocation (RMI).
- Attendez qu'il ne reste que quelques ports, voire aucun, à l'état TIME_WAIT avant d'effectuer de nouvelles opérations via Rational Application Developer ou la console d'administration.
Echec de l'autorisation basée sur des rôles
SECJ0305I: Echec du contrôle d'autorisation basée sur des rôles pour securityname server.domain.name:3890/user.id,
accessId user:server.domain.name:3890/uid=user.id,ou=xxxx,dc=yyy,dc=zzz lors de l'appel de la méthode
getNodeName sur des serveurs de ressources et de modules.
Si un des rôles d'administration ne peut pas être affecté à l'appelant de l'application, l'application peut se connecter avec un des rôles pour le compte de l'appelant. Exemple : try
{
// Create a LoginContext to authenticate a user ID and password.
javax.security.auth.login.LoginContext
lc = new javax.security.auth.login.LoginContext("WSLogin",
new com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl("adminuser",
"adminpassword"));
// perform the login
lc.login();
// Get the authenticated subject.
javax.security.auth.Subject adminSubject = lc.getSubject();
// Define the action that will take place using the authenticated Subject
// You can define this action anywhere in the code, the action
// is reference in the WSSubject.doAs that follows.
java.security.PrivilegedAction adminAction = new java.security.PrivilegedAction()
{
public Object run()
{
try
{
// Get the WebSphere AdminService.
AdminService adminservice = AdminServiceFactory.getAdminService();
// Get the WebSphere Admin Local Server MBean instance.
ObjectName objectname = adminservice.getLocalServer();
// Get the Node name.
String nodeName = (String)adminservice.getAttribute(objectname, "nodeName");
// Get the Application Server name.
String serverName = (String)adminservice.getAttribute(objectname, "name");
// Get the Application Server Process ID.
String serverPid = (String)adminservice.getAttribute(objectname, "pid");
// Return a result, for this example, just return the serverPid.
return serverPid;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
});
// Invoke an AdminClient resource using the authenticated subject.
// This example demonstrates the action of creating an
// administrative client and returning a String value to use outside
// the doAs block.
String myData = (String)
com.ibm.websphere.security.auth.WSSubject.doAs(adminSubject, adminAction);
// use "myData" later on....
}
catch (javax.security.auth.login.LoginException e)
{
e.printStackTrace();
}
Lors du démarrage ou de l'arrêt d'un serveur utilisant une session de scriptage interactive wsadmin, vous recevez une exception indiquant que le délai de lecture a expiré (read timed out)
WASX7015E: Exception lors de l'exécution de la commande : "$AdminControl startServer server1 Node1;"
exception information: 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]
Cette exception se produit car la valeur d'expiration est trop petite. Augmentez la valeur d'expiration définie par la propriété com.ibm.SOAP.requestTimeout dans le fichier soap.client.props
dans le répertoire racine_profil/properties
pour une édition à serveur unique ou dans le répertoire racine_profil/properties
pour une installation Network Deployment. La valeur à choisir dépend de plusieurs
facteurs, tels que la taille et le nombre d'applications installées sur le serveur, la vitesse
de votre machine et son taux d'utilisation. La valeur par défaut de la propriété com.ibm.SOAP.requestTimeout
est de 180 secondes.
Cette exception se produit car la valeur d'expiration est trop petite. Pour corriger le problème, augmentez la valeur d'expiration définie par la propriété com.ibm.SOAP.requestTimeout dans le fichier soap.client.props
dans le répertoire racine_profil/properties
pour une édition à serveur unique ou dans le répertoire racine_profil/properties
pour une installation Network Deployment. La valeur à choisir dépend de plusieurs
facteurs, tels que la taille et le nombre d'applications installés sur le serveur, la vitesse
de votre machine et son taux d'utilisation. La valeur par défaut de la propriété com.ibm.SOAP.requestTimeout
est de 180 secondes.
Incidents lors du démarrage ou de l'utilisation de la console d'administration ou de l'utilitaire wsadmin
- Pour le processus de serveur d'applications, consultez ces fichiers :
racine_profil/logs/nom_serveur/startServer.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur server1 ouvert pour e-business ; l'ID de processus est nnnn..
racine_profil/logs/nom_serveur/startServer.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur server1 ouvert pour e-business ; l'ID de processus est nnnn..
racine_profil/logs/nom_serveur/SystemOut.log
racine_profil/logs/nom_serveur/SystemOut.log
Les fichiers journaux du serveur pour le message indiquant que le serveur a démarré avec succès : WSVR0001I: Serveur server ouvert pour e-business.
- Pour le produit WebSphere
Application Server, Network Deployment, consultez ces fichiers :
racine_profil/logs/dmgr/startServer.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur dmgr ouvert pour e-business ; l'ID de processus est nnnn.
racine_profil/logs/dmgr/startServer.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur dmgr ouvert pour e-business ; l'ID de processus est nnnn.
racine_profil/logs/dmgr/SystemOut.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur dmgr ouvert pour e-business ; l'ID de processus est nnnn.
racine_profil/logs/dmgr/SystemOut.log pour le message indiquant que le serveur a démarré avec succès : ADMU3000I: Serveur dmgr ouvert pour e-business ; l'ID de processus est nnnn.
Les fichiers journaux du serveur pour le message indiquant que le serveur a démarré avec succès :WSVR0001I: Serveur dmgr ouvert pour e-business.
Pour le produit z/OS, vérifiez la sortie des travaux.
- Recherchez les éventuels messages d'erreur contenus dans ces fichiers à l'aide de la table de référence des messages. Sélectionnez la vue Référence dans la vue du centre de documentation puis cliquez sur Messages. Lorsque vous essayez de démarrer wsadmin, un message de type WASX7213I: Ce client de chiffrement n'est connecté à aucun processus serveur indique que soit le processus serveur n'est pas en fonctionnement soit la machine hôte sur laquelle il s'exécute est inaccessible, soit le nom de port ou de serveur utilisé par l'utilitaire wsadmin est incorrect.
- Vérifiez que vous utilisez le bon numéro de port pour communiquer avec la console d'administration ou le serveur wsadmin :
Consultez le fichier SystemOut.log.
Consultez le fichier joblogs.
- La ligne ADMC0013I: Connecteur SOAP disponible sur le port nnnn indique le port utilisé par le serveur pour écouter les fonctions wsadmin.
La propriété com.ibm.ws.scripting.port du fichier racine_profil/properties/wsadmin.properties contrôle le port utilisé par l'utilitaire wsadmin pour envoyer des requêtes au serveur.
La propriété com.ibm.ws.scripting.port du fichier racine_profil/properties/wsadmin.properties contrôle le port utilisé par l'utilitaire wsadmin pour envoyer des requêtes au serveur.
Si la valeur du port diffère de la valeur affichée dans le fichierSystemOut.log, changez le numéro de port dans le fichier wsadmin.properties ou définissez le bon numéro de port lors du démarrage de l'utilitaire wsadmin à l'aide de la propriété -port numéro_port sur la ligne de commande.
La propriété com.ibm.ws.scripting.port du fichier racine_profil/properties/wsadmin.properties contrôle le port utilisé par l'utilitaire wsadmin pour envoyer des requêtes au serveur.
Si la valeur du port diffère de la valeur affichée dans le fichier SystemOut.log, changez le numéro de port dans le fichier wsadmin.properties ou définissez le bon numéro de port lors du démarrage de l'utilitaire wsadmin à l'aide de la propriété -port numéro_port sur la ligne de commande.
La propriété com.ibm.ws.scripting.port du fichier racine_profil/properties/wsadmin.properties contrôle le port utilisé par l'utilitaire wsadmin pour envoyer des requêtes au serveur.
Si la valeur du port diffère de la valeur affichée dans les fichiers journaux du serveur, changez le numéro de port dans le fichier wsadmin.properties ou définissez le bon numéro de port lors du démarrage de l'utilitaire wsadmin à l'aide de la propriété -port numéro_port sur la ligne de commande.
Le message SRVE0171I: Transport http à l'écoute sur le port nnnn (par défaut 9060) indique le port utilisé par le serveur pour écouter les requêtes de la console d'administration.
- Si la valeur du port diffère de celle définie dans l'adresse web de la console d'administration, remplacez l'adresse web dans le navigateur par la bonne valeur. La valeur par défaut est http://hôtelocal:9060/ibm/console.
- Vérifiez avec la commande telnet que le nom d'hôte sur lequel s'exécute le serveur d'applications ou le gestionnaire de déploiement est accessible à partir du système utilisant le navigateur ou le programme wsadmin. Si vous pouvez vérifier la présence du nom d'hôte, c'est qu'il n'y a aucun incident de pare-feu ou de connectivité.
- Si l'hôte où est exécuté le serveur d'applications ou le gestionnaire de déploiement est éloigné de la machine à partir de laquelle le navigateur client ou la commande wsadmin s'exécute, assurez-vous que le paramètre de nom d'hôte approprié est correct. Vérifiez :
- Le nom d'hôte dans l'adresse du navigateur web pour la console.
- L'option -host nom d'hôte de la commande wsadmin utilisée pour diriger l'utilitaire wsadmin vers le bon serveur.
Le support technique de WebSphere Application Server peut vous demander de tracer le composant d'administration pour une identification détaillée de l'incident. Pour cela, indiquez com.ibm.websphere.management.*=all=enabled:com.ibm.ws.management.*=all=enabled"
La méthode AdminConfig.parents ne peut pas être utilisée pour obtenir les types parents valides de certains types de configuration
wsadmin>print AdminConfig.parents( "JavaVirtualMachine")
Le message d'information suivant est renvoyé :WASX7351I : La commande parents ne peut pas être utilisée pour rechercher les parents de type "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 aucune de ces étapes ne résout l'incident, consultez la rubrique L'installation est terminée mais la console d'administration ne démarre pas pour voir si l'incident que vous rencontrez y est traité. Vérifiez si le problème a été identifié et documenté à l'aide des liens présents dans la rubrique Diagnostic et résolution des incidents : Ressources d'apprentissage. Si vous ne trouvez pas d'incident
similaire au vôtre, ou si les informations fournies ne permettent pas de résoudre votre problème, prenez
contact avec le support technique IBM pour une assistance complémentaire.
Si aucune de ces étapes ne résout l'incident, consultez la rubrique L'installation est terminée mais la console d'administration ne démarre pas pour voir si l'incident que vous rencontrez y est traité. Vérifiez si le problème a été identifié et documenté à l'aide des liens présents dans la rubrique Diagnostic et résolution des incidents : Ressources d'apprentissage.