Résolution des incidents d'administration et de la console d'administration

Remarque : Cette rubrique fait référence à un ou plusieurs des fichiers journaux de serveur d'applications. Il est recommandé de configurer le serveur de telle sorte qu'il utilise l'infrastructure de journalisation et de trace HPEL (High Performance Extensible Logging) à la place des fichiers SystemOut.log, SystemErr.log, trace.log et activity.log sur les systèmes distribués et IBM® i. Vous pouvez également utiliser HPEL conjointement avec vos fonctions de journalisation z/OS natives. Si vous utilisez l'infrastructure HPEL, vous pouvez accéder à toutes les informations de journalisation et de trace en utilisant l'outil de ligne de commande LogViewer à partir de votre répertoire bin de profil de serveur. Pour plus d'informations sur l'utilisation de HPEL, voir les informations sur l'utilisation de HPEL en vue du traitement des incidents liés aux applications.
Dans les produits WebSphere Application Server, les fonctions d'administration sont prises en charge par :
  • 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

Lors de la connexion à un serveur d'applications utilisant une connexion Simple Object Access Protocol (SOAP) pendant une longue durée, les incidents suivants se produisent :
  • 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.
Cet incident persiste même après avoir redémarré le serveur ou après avoir démarré un autre serveur utilisant le port de connexion SOAP.

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.

Utilisez les options suivantes pour éviter l'incident :
  • 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

Lorsque vous effectuez un appel Java Management Extension (JMX) tel que getAttribute, setAttribute, invoke, etc. dans votre application, l'appelant nécessite un rôle d'administration avec des droits appropriés. Le rôle requis dépend de l'attribut ou de la méthode du MBean appelé par l'appelant JMX ; il peut s'agir d'un rôle d'administrateur, de configurateur, de moniteur ou d'opérateur. Si un des rôles d'administration n'est pas affecté à l'appelant ou si le rôle est affecté mais que l'appelant n'a pas les droits requis, l'application reçoit un échec d'autorisation basée sur des rôles, par exemple :
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)

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), par exemple :
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]

[AIX Solaris HP-UX Linux Windows][z/OS]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.

[IBM i]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

En cas d'incident lors du démarrage ou de l'utilisation de la console d'administration ou de l'utilitaire, vérifiez que le processus serveur les prenant en charge est démarré et fonctionne correctement.
  • Pour le processus de serveur d'applications, consultez ces fichiers :
    • [AIX Solaris HP-UX Linux Windows][z/OS]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..
    • [IBM i]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..
    • [AIX Solaris HP-UX Linux Windows]racine_profil/logs/nom_serveur/SystemOut.log
    • [IBM i]racine_profil/logs/nom_serveur/SystemOut.log
    • [z/OS]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 :
    • [AIX Solaris HP-UX Linux Windows][z/OS]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.
    • [IBM i]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.
    • [AIX Solaris HP-UX Linux Windows]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.
    • [IBM i]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.
    • [z/OS]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.
  • [z/OS]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 :
    • [AIX Solaris HP-UX Linux Windows][IBM i]Consultez le fichier SystemOut.log.

      [z/OS]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.
      • [AIX Solaris HP-UX Linux Windows][z/OS]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.
      • [IBM i]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.
    • [AIX Solaris HP-UX Linux Windows][z/OS]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.

    • [IBM i]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.

    • [IBM i]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.
  • [AIX Solaris HP-UX Linux Windows][IBM i] 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

Lorsque vous utilisez la méthode AdminConfig.parents pour obtenir les types parents autorisés pour un type de configuration spécifique, par exemple "JavaVirtualMachine", un message d'information peut être renvoyé au lieu de la valeur souhaitée.
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"
La fonction suivante présente une solution de contournement possible pour la méthode AdminConfig.parents() qui traite du problème précédemment mentionné :
#---------------------------------------------------------------------
# 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

[AIX Solaris HP-UX Linux Windows][z/OS]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.

[IBM i]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.

Pour accéder aux toutes dernières informations disponibles auprès du support technique IBM relatives aux incidents recensés et leur résolution, consultez les rubriques suivantes sur la page du support technique IBM :
Les documents proposés par IBM peuvent vous aider à collecter plus rapidement les informations nécessaires à la résolution de l'incident. Avant d'ouvrir un PMR, consultez les rubriques suivantes de la page IBM relatives à la collecte d'informations :

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rtrb_admincomp
Nom du fichier : rtrb_admincomp.html