WebSphere Application Server Network Deployment, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

管理および管理コンソールのトラブルシューティング

WebSphere Application Server 製品では、以下において管理機能がサポートされています。

管理コンソールを使用するためには、このプロセスが実行されていなければなりません。 wsadmin コマンド行ユーティリティーには、 サーバー・プロセスが稼働していないときでも何らかの管理機能を実行するために使用できるローカル・モードがあります。

どのような問題が発生しましたか?

コンソール・ビューのサーバー状況およびメッセージが最新でない

Simple Object Access Protocol (SOAP) 接続を長い間使用しているアプリケーション・サーバーに接続する場合は、以下の問題が発生します。
  • 管理コンソール・パネルの「サーバー」ビューの「状況」列で、サーバーの状況が更新されません。
  • 管理コンソールでサーバー・メッセージが更新されません。
  • 多くのポートが作成されて、TIME_WAIT 状態のままとなるため、システム・リソースが減少します。
この問題は、サーバーを再始動、または SOAP 接続ポートを使用する別のサーバーを始動した後でも解決しません。

この問題は、SOAP コネクターが接続のプールをサポートしないために発生します。 アプリケーション・サーバーで、SOAP コネクターを使用する継続中のオペレーションが多数存在する場合、アプリケーション・サーバーは多くのポートを急速に開いたり閉じたりします。 TCP/IP プロトコルの基本的な性質により、これらのポートは、オペレーティング・システムがそれらを再利用できるようになる前に、しばらくの間 TIME_WAIT 状態のままとなります。 WebSphere Application Server は、オペレーティング・システムが設定する制限を超過する数のポートを開くことができます。 この条件では、オペレーティング・システムがポートを再利用するまで、SOAP コネクターを通じて追加のポートを開こうとしても失敗します。

この問題を回避するには、以下の方法があります。
  • オペレーティング・システムの設定するポート数の上限を増やします。
  • WebSphere Application Server Toolkit では、wsadmin ユーティリティー、または Java Management Extension (JMX) コネクターを使用する Java アプリケーションを、リモート・メソッド呼び出し (RMI) コネクターに切り替えます。
  • WebSphere Application Server ToolKit または管理コンソールを通じて新規オペレーションを実行する前に、TIME_WAIT 状態にあるポートがほとんどまたは完全になくなるまで待機します。

役割ベースの許可が失敗する

ご使用のアプリケーションで getAttribute、setAttribute、invoke などの Java Management Extension (JMX) 呼び出しを実行する場合は、呼び出し元に十分なアクセス権を持つ管理の役割が必要です。 必要な役割は、MBean 属性、または JMX 呼び出し元が呼び出すメソッドによって異なり、アドミニストレーター、コンフィギュレーター、モニター、またはオペレーターのいずれかになります。 管理の役割の 1 つが呼び出し元に割り当てられていない場合、または役割が割り当てられていても、呼び出し元に必要なアクセス権がない場合、アプリケーションは役割ベースの許可の失敗を受け取ります。例えば、以下のようになります。
SECJ0305I: Role based authorization check failed for securityname server.domain.name:3890/user.id,
accessId user:server.domain.name:3890/uid=user.id,ou=xxxx,dc=yyy,dc=zzz while invoking method
getNodeName on resource Server and module Server.
アプリケーションの呼び出し元に管理の役割の 1 つを割り当てることができない場合、アプリケーションは呼び出し元に代わって役割の 1 つを使用してログインできます。 以下に例を示します。
	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();
	}

wsadmin 対話式スクリプト・セッションを使ってサーバーを起動または終了する場合に、読み込みのタイムアウトを示す例外を受信する

wsadmin 対話式スクリプト・セッションを使ってサーバーを起動または終了する場合に、以下のような読み込みのタイムアウトを示す例外を受信します。
WASX7015E: 例外実行コマンド: "$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]

この例外はタイムアウト値が小さすぎるために発生します。 シングル・サーバー版の profile_root/properties ディレクトリーか、Network Deployment インストール・システムの profile_root/properties ディレクトリーにある soap.client.props ファイルの com.ibm.SOAP.requestTimeout プロパティーで指定されているタイムアウト値を大きくしてください。 選択する値は、サーバーにインストールされているアプリケーションのサイズおよび数、マシンのスピード、およびマシンの使用レベルなどの多くの要因によって変わります。 com.ibm.SOAP.requestTimeout プロパティーのデフォルト値は、180 秒です。

管理コンソールまたは wsadmin ユーティリティーの始動時または使用中の問題

管理コンソールまたは wsadmin ユーティリティーの始動時または使用中に問題が発生した場合は、 サポートしているサーバー・プロセスが始動済みであり、正常であるか確認します。
  • アプリケーション・サーバー・プロセスに関しては、以下のファイルを調べてください。
    • profile_root/logs/server_name/startServer.log。 このファイル内に、サーバーが正常に始動したことを示すメッセージ「ADMU3000I: サーバー server1 が e-business 用にオープンされました。プロセス ID は nnnn です。」があるかどうかを調べてください。
    • profile_root/logs/server_name/SystemOut.log
  • Network Deployment 製品に関しては、以下のファイルを調べてください。
    • profile_root/logs/dmgr/startServer.log。このファイル内に、 サーバーが正常に始動されていることを示すメッセージ「ADMU3000I: サーバー dmgr が e-business 用にオープンされました。プロセス ID は nnnn です。」があるかどうかを調べてください。
    • profile_root/logs/dmgr/SystemOut.log。このファイル内に、 サーバーが正常に始動されていることを示すメッセージ「ADMU3000I: サーバー dmgr が e-business 用にオープンされました。プロセス ID は nnnn です」があるかどうかを調べてください。
  • メッセージ参照表内のこれらのファイルにあるすべてのエラー・メッセージを調べます。 インフォメーション・センターのナビゲーションで「Reference」ビューを選択し、 「Messages」をクリックしてください。 wsadmin の始動を試みている際の「WASX7213I: このスクリプト・クライアントは、サーバー・プロセスに接続されていません」といった内容のメッセージは、サーバー・プロセスが実行されていない、 wsadmin を実行しているホスト・マシンにアクセスできない、 または wsadmin ユーティリティーが使用しているポートまたはサーバー名が誤っている、のいずれかを示しています。
  • 正しいポート番号を使用して管理コンソールまたは wsadmin サーバーと通信しているかどうかを確認してください。
    • SystemOut.log ファイルを調べます。

      • 行「ADMC0013I: SOAP コネクターがポート nnnn で使用可能です」は、 wsadmin 機能を listen するためにサーバーが使用しているポートを示します。
      • profile_root/properties/wsadmin.properties ファイルの com.ibm.ws.scripting.port プロパティーは、wsadmin ユーティリティーがサーバーに要求を送信するために使用するポートを制御します。
    • ポート値が、SystemOut.log ファイルに示されている値と異なる場合は、wsadmin.properties ファイルでポート番号を変更するか、wsadmin ユーティリティーを始動する際にコマンド行で -port port_number プロパティーを使用して、正しいポート番号を指定します。

      profile_root/properties/wsadmin.properties ファイルの com.ibm.ws.scripting.port プロパティーは、wsadmin ユーティリティーがサーバーに要求を送信するために使用するポートを制御します。

    • ポート値が、管理コンソールの Web アドレスで指定されているものと異なる場合は、 ブラウザーの Web アドレスを正しい値に変更してください。 デフォルト値は、http://localhost:9060/ibm/console です。
  • telnet コマンドを使用して、アプリケーション・サーバーま たはデプロイメント・マネージャーが実行されているホ スト名に、ブラウザーや wsadmin プログラムが使用されているシステムから到達できるかどうかをテストします。 ホスト名を ping できる場合は、ファイアウォールまたは接続に関する問題はありません。
  • アプリケーション・サーバーまたはデプロイメント・マネージャーが稼働しているホストが、クライアント・ブラウザーまたは wsadmin コマンドを実行しているマシンに対してリモートである場合は、 以下のように、該当するホスト名パラメーターが正しいかどうかを確認してください。 以下のことを検証します。
    • コンソールのブラウザー Web アドレスにあるホスト名。
    • wsadmin ユーティリティーを正しいサーバーへ誘導するために使用する wsadmin コマンドの -host host name オプション。
  • 管理コンポーネントのトレース: の WebSphere Application Server 技術サポートでは、詳細な問題判別のために管理コンポーネントのトレースを行うよう指示される場合があります。 このコンポーネントのトレース仕様は、 com.ibm.websphere.management.*=all=enabled:com.ibm.ws.management.*=all=enabled" です。

上記のステップで問題が解決されない場合は、 『インストールは完了したが、 管理コンソールが始動しない』トピックに、その問題に関する説明がないか確認してください。 トピック『問題の診断および修正: 学習用リソース』にあるリンクを使用して、 問題が特定され、文書化されているかどうかを確認してください。 類似した問題が見つからない場合、 または提供されている情報では問題が解決されない場合は、IBM サポートに連絡してください。

既知の問題とその解決策に関して、IBM サポートから入手でき る現行情報については、IBM サポート・ページにある以下のトピックを参照してください。
IBM サポートが提供する資料を参照すれば、この問題を解決するために必要な情報を集める時間を短縮することができます。 PMR を開く前に、IBM サポート・ページに記載の以下のトピックを参照してください。



関連タスク
トラブルシューティング管理
関連資料
インストールの問題
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 10:13:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rtrb_admincomp.html