트러블슈팅

방화벽 설정 확인

와탭 서버에 대한 TCP 아웃바운드 정책이 설정되어 있지 않으면 모니터링 정보를 전송할 수 없습니다. 방화벽 차단을 해제해야 합니다.

telnet 명령을 사용해 "Connected to <IP>"를 확인해야 합니다.

telnet
$ telnet 52.193.60.176 6600
Trying 52.193.60.176...
Connected to 52.193.60.176.
Escape character is '^]'.
  • 수집 서버 IP 정보는 와탭 웹사이트에서 해당 프로젝트의 관리 > 에이전트 설치 메뉴에서 확인할 수 있습니다.

SpringBoot 2.2 이상

SpringBoot 2.2 이상에서 Embeded Tomcat을 사용하는 경우 기본값으로 JMX 관련 기능이 동작하지 않습니다.
이 경우 JMX 기능을 활성화해야 합니다.

Since Spring Boot 2.2, JMX is disabled by default.
application.properties
spring.jmx.enabled=true
server.tomcat.mbeanregistry.enabled=true #tomcat embeded인 경우
application.yml
spring:
  jmx:
    enabled: true
server:
  tomcat:
    mbeanregistry:
      enabled: true #tomcat embeded인 경우

애플리케이션 서버가 OSGI 프레임워크를 사용하는 경우

OSGI 프레임워크 구조의 애플리케이션 서버인 경우 JVM 옵션에 에이전트 패키지 prefix(whatap)를 등록해야 합니다.

Jboss EAP 6.0 이상
Jboss AS 7.0 이상
Wildfly 8.0 이상
IBM WebSphere AS 7.0 이상
등이 해당됩니다.

JBoss AS, Wildfly, JBoss EAP 6.0 이상

$JBOSS_HOME/bin/standalone.conf(domain.conf) 파일에 prefix를 등록합니다.

 -Djboss.modules.system.pkgs=whatap
410
Figure 1. JBOSS EAP 7.0

WebSphere

 -Dcom.ibm.ws.classloader.server.alwaysAllowedPackages=whatap
  • Default로 ‘*’로 지정되어 있는 경우는 별도의 설정이 필요 없습니다.

  • 설정 위치는 ‘WebSphere‘를 참조합니다.

security.policy 권한 추가

$WEBSPHERE_HOME/properties/server.policy 또는 $WEBSPHERE_PROFILE_HOME/properties/server.policy
grant codeBase "file:$WHATAP_HOME/-"
{
   permission java.security.AllPermission;
};

히트맵에 트랜잭션이 표시되지 않는 경우

IBM JDK의 경우 attach 방식으로 에이전트를 적용하면 트랜잭션 정보가 수집되지 않습니다. ‘javaagent’ 방식으로 에이전트를 설치해야 합니다.

Log Manager 관련 에러가 발생하는 경우

JBoss AS 7.0 이상, JBoss EAP 6.0 이상에서 Log Manager 관련 에러가 발생한다면 JVM 옵션을 추가합니다.

 -Djava.util.logging.manager에 Log Manager package명 설정
 -Xbootclassloader에 JBoss Log Manager JAR file 설정
420
Figure 2. 설정 추가 예

MBeanServerBuilder 에러가 발생하는 경우

JBoss 5.0 이하에서 MBeanServerBuilder 관련 에러가 출력된 경우 JVM 옵션 추가합니다.

-Djboss.platform.mbeanserver를 true로 설정합니다.
430
Figure 3. 설정 추가 예

Permission 오류가 발생하는 경우

Java Security Policy 관련 오류가 발생하면 $JAVA_HOME/jre/lib/security/java.policy 파일에 권한 설정을 추가합니다.

모든 권한을 일괄적으로 적용하려면 {JAVA_HOME}/jre/lib/security/java.policy 파일에 설정을 추가합니다.

grant {
   permission java.security.AllPermission;
};

java.io.FilePermission 오류가 발생하는 경우

440

$JAVA_HOME/jre/lib/security/java.policy 파일에 설정을 추가합니다.

grant {
   ...
   permission java.io.FilePermission {오류 메시지에서 확인된 패키지 경로}, "read"
};

java.util.PropertyPermission 오류가 발생하는 경우

$JAVA_HOME/jre/lib/security/java.policy 파일에 설정을 추가합니다.

grant {
   ...
   permission java.util.PropertyPermission {오류 메시지에서 확인된 패키지 경로}, "read"
};

Sigar library를 로딩하지 못하는 경우

$WHATAP_HOME/lib1/*.so 파일에 실행 권한이 있는지 확인합니다. 권한이 없다면 실행 권한을 부여합니다.

$ sudo chmod +x *.so
440

AIX 7에서 $WHATAP_HOME/lib1 하위에 libsigar-ppc64-aix-7.so 파일이 없어 오류가 발생한 경우 파일을 복사합니다.

$ cp libsigar-ppc64-aix-5.so libsigar-ppc64-aix-7.so