관리 및 관리 콘솔 문제점 해결
- Application Server(예: server1) 프로세스
- WebSphere Application Server, Network Deployment 제품의 배치 관리자 프로세스
관리 콘솔을 사용하려면 프로세스가 실행 중이어야 합니다. wsadmin 명령행 유틸리티는 서버 프로세스가 실행 중이 아닐 때도 일부 관리 기능을 수행하기 위해 사용할 수 있는 로컬 모드를 갖습니다.
콘솔 보기의 서버 상태 및 메시지가 최신 항목이 아님
- 관리 콘솔 패널의 서버 보기에서 상태 열 아래에 표시된 서버 상태가 새로 고쳐지지 않았습니다.
- 서버 메시지가 관리 콘솔에서 업데이트되지 않았습니다.
- 많은 포트를 작성하여 TIME_WAIT 상태로 두면 시스템 자원이 줄어듭니다.
SOAP 커넥터에서 연결 풀링을 지원하지 않기 때문에 문제점이 발생합니다. Application Server에서 SOAP 커넥터를 사용하는 조작이 많이 진행 중인 경우 Application Server는 많은 포트를 빨리 열고 닫습니다. 기본적인 TCP/IP 프로토콜 특성 때문에 운영 체제에서 이러한 포트를 재확보하기 전에 얼마 동안 이러한 포트는 TIME_WAIT 상태로 남아 있습니다. WebSphere Application Server에서 여는 포트 수는 운영 체제에서 부과한 한계를 초과할 수 있습니다. 이러한 조건에서는 운영 체제가 포트를 재생할 때까지 SOAP 커넥터를 통해 추가 포트를 열수 없습니다.
- 포트 수에 대한 운영 체제 한계를 늘리십시오.
- JMX(Java™ Management Extension) 커넥터를 사용하는 Rational® Application Developer, wsadmin 유틸리티 또는 Java 애플리케이션에서 RMI(Remote Method Invocation) 커넥터를 사용하도록 전환하십시오.
- Rational Application Developer 또는 관리 콘솔을 통해 새 조작을 수행하기 전에 TIME_WAIT 상태의 포트가 완전히 또는 거의 없어질 때까지 대기하십시오.
역할 기반 권한 실패
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.
관리 역할중 하나를 애플리케이션의 호출자에게 지정할 수 없는 경우
애플리케이션은 호출자 대신 해당 역할 중 하나로 로그인할 수
있습니다. 예를 들어 다음과 같습니다. 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 대화식 스크립트 세션을 사용하여 서버를 시작하거나 중지할 경우, 읽기 제한시간을 표시하는 예외가 발생합니다.
WASX7015E: Exception running command: "$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초입니다.
이 예외는
제한시간 값이 너무 작아서 발생합니다. 이를 수정하려면
단일 서버 편집을 위한 profile_root/properties 디렉토리 또는
네트워크 배치 설치를 위한 profile_root/properties
디렉토리의 soap.client.props 파일에서 com.ibm.SOAP.requestTimeout 특성이
지정한 제한시간 값을 늘리십시오. 이 값은 여러 요소(서버에 설치된 애플리케이션의 크기 및 수, 시스템의
속도, 시스템의 사용 레벨 등)에 따라 선택해야 합니다. com.ibm.SOAP.requestTimeout 특성의 기본값은
180초입니다.
관리 콘솔 또는 wsadmin 유틸리티를 사용하거나 시작하는 중 문제점 발생
- 애플리케이션 서버 프로세스의 경우 다음 파일의 내용을 참조하십시오.
서버가 성공적으로 시작되었음을 표시하는 메시지: ADMU3000I: Server server1 open for e-business; process id is nnnn.의 경우 profile_root/logs/server_name/startServer.log.
서버가 성공적으로 시작되었음을 표시하는 메시지: ADMU3000I: Server server1 open for e-business; process id is nnnn.의 경우 profile_root/logs/server_name/startServer.log.
profile_root/logs/server_name/SystemOut.log
profile_root/logs/server_name/SystemOut.log
서버가 성공적으로 시작되었음을 표시하는 메시지: WSVR0001I: Server server open for e-business의 경우 서버 로그 파일
- WebSphere Application Server, Network Deployment 제품의 경우 다음 파일의 내용을 참조하십시오.
서버가 성공적으로 시작했음을 표시하는 메시지 ADMU3000I: 서버 dmgr이 e-business에 대해 열렸습니다. 프로세스 id는 nnnn입니다.의 경우 profile_root/logs/dmgr/startServer.log
서버가 성공적으로 시작했음을 표시하는 메시지 ADMU3000I: 서버 dmgr이 e-business에 대해 열렸습니다. 프로세스 id는 nnnn입니다.의 경우 profile_root/logs/dmgr/startServer.log
서버가 성공적으로 시작했음을 표시하는 메시지 ADMU3000I: 서버 dmgr이 e-business에 대해 열렸습니다. 프로세스 id는 nnnn입니다.의 경우 profile_root/logs/dmgr/SystemOut.log
서버가 성공적으로 시작했음을 표시하는 메시지 ADMU3000I: 서버 dmgr이 e-business에 대해 열렸습니다. 프로세스 id는 nnnn입니다.의 경우 profile_root/logs/dmgr/SystemOut.log
서버가 성공적으로 시작되었음을 표시하는 메시지 WSVR0001I: Server dmgr open for e-business에 대한 서버 로그 파일
z/OS 제품의 경우, 작업 출력을 확인하십시오.
- 메시지 참조 테이블에서 이 파일의 오류 메시지를 찾으십시오. Information Center 탐색에서 참조 보기를 선택한 후, 메시지를 클릭하십시오. wsadmin을 시작하려고 할 때 WASX7213I: 이 스크립트 클라이언트는 서버 프로세스에 연결되어 있지 않습니다와 같은 메시지는, 서버 프로세스가 실행되고 있지 않거나 서버 프로세스가 실행 중인 호스트 시스템에 액세스할 수 없거나 wsadmin 유틸리티에서 사용하는 포트 또는 서버 이름이 올바르지 않음을 표시합니다.
- 관리 콘솔 또는 wsadmin 서버와 통신하기 위해
올바른 포트 번호를 사용 중인지 확인하십시오.
SystemOut.log 파일에서 찾으십시오.
joblogs 파일에서 찾으십시오.
- ADMC0013I: SOAP connector available at port nnnn 행은 서버가 wsadmin 기능을 청취하는 데 사용 중인 포트를 표시합니다.
profile_root/properties/wsadmin.properties 파일의 특성 com.ibm.ws.scripting.port가 wsadmin 유틸리티가 서버에 요청을 전송하는 데 사용하는 포트를 제어합니다.
profile_root/properties/wsadmin.properties 파일의 특성 com.ibm.ws.scripting.port가 wsadmin 유틸리티가 서버에 요청을 전송하는 데 사용하는 포트를 제어합니다.
SystemOut.log 파일에 표시된 값과 다를 경우, wsadmin.properties 파일에서 포트 번호를 변경하거나 명령행에서 -port port_number 특성을 사용하여 wsadmin 유틸리티를 시작할 때 올바른 포트 번호를 지정하십시오.
profile_root/properties/wsadmin.properties 파일의 특성 com.ibm.ws.scripting.port가 wsadmin 유틸리티가 서버에 요청을 전송하는 데 사용하는 포트를 제어합니다.
SystemOut.log 파일에 표시된 값과 다를 경우, wsadmin.properties 파일에서 포트 번호를 변경하거나 명령행에서 -port port_number 특성을 사용하여 wsadmin 유틸리티를 시작할 때 올바른 포트 번호를 지정하십시오.
profile_root/properties/wsadmin.properties 파일의 특성 com.ibm.ws.scripting.port가 wsadmin 유틸리티가 서버에 요청을 전송하는 데 사용하는 포트를 제어합니다.
서버 로그 파일에 표시된 값과 다를 경우, wsadmin.properties 파일에서 포트 번호를 변경하거나 명령행에서 -port port_number 특성을 사용하여 wsadmin 유틸리티를 시작할 때 올바른 포트 번호를 지정하십시오.
메시지 SRVE0171I: 전송 HTTP는 포트 nnnn(기본값 9060)에서 청취 중입니다는 관리 콘솔 요청을 청취하기 위해 서버가 사용하는 포트를 표시합니다.
- 포트 값이 관리 콘솔에 대한 웹 주소에 지정된 값과 다른 경우, 브러우저의 웹 주소를 올바른 값으로 변경하십시오. 기본값은 http://localhost:9060/ibm/console입니다.
- Application Server 또는 배치 관리자가 실행 중인 호스트 이름이 브라우저 또는 wsadmin 로그램이 사용되고 있는 시스템에서 도달 가능한지를 테스트하려면 telnet 명령을 사용하십시오. 호스트 이름을 핑하려면 방화벽 또는 연결성 문제가 없어야 합니다.
- Application Server 또는 배치 관리자가 실행 중인 호스트가
클라이언트 브라우저나 wsadmin 명령이 실행 중인 시스템에 원격인 경우, 적당한 호스트 이름 매개변수가 맞는지
확인하십시오. 다음을 확인하십시오.
- 콘솔에 대한 브라우저 웹 주소의 호스트 이름
- 정확한 서버로 wsadmin 유틸리티의 경로를 지정하는 데 사용되는 wsadmin 명령의 -host 호스트 이름 옵션
WebSphere Application Server 기술 지원이 사용자에게 상세한 문제점 판별을 위해 관리 컴포넌트를 추적하도록 요청할 수 있습니다. 이 컴포넌트에 대한 추적 스펙은 com.ibm.websphere.management.*=all=enabled:com.ibm.ws.management.*=all=enabled"입니다.
AdminConfig.parents 메소드를 사용하여 일부 구성 유형의 유효한 상위 유형을 얻을 수 없음
wsadmin>print AdminConfig.parents( "JavaVirtualMachine")
다음 정보 메시지가
리턴됩니다.WASX7351I: The parents command cannot be used to find the parents of 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
이러한 단계의 어느 것도 문제를 해결하지 못하는 경우, 겪고 있는 특정
문제가 설치는 완료되었으나
관리 콘솔이 시작되지 않습니다 주제에서 다루어지는지 확인하십시오.
문제 진단 및
수정: 학습 자원 주제의 링크를 사용하여 문제가 식별되고
문서화되었는지 확인하십시오. 사용자의 문제점과 유사한 문제점이 없거나 제공된 정보로 사용자의 문제점을 해결할 수 없는 경우,
IBM 지원 센터에 문의하여
추가 지원을 받으십시오.
이러한 단계의 어느 것도 문제를 해결하지 못하는 경우, 겪고 있는 특정
문제가 설치는 완료되었으나
관리 콘솔이 시작되지 않습니다 주제에서 다루어지는지 확인하십시오.
문제 진단 및
수정: 학습 자원 주제의 링크를 사용하여 문제가 식별되고 문서화되었는지 확인하십시오.