Java

구성 파일

애플리케이션에 모니터링에 필요한 정보를 추출하여 WhaTap 수집 서버로 전달하는 트레이서와 트레이서가 데이터를 보낼 수 있도록 돕는 요소로 구성되어 있습니다.

파일명

설명

whatap.conf

모니터링 에이전트의 설정 정보, 프로젝트의 라이센스 키, WhaTap 데이터 수집 서버의 IP 정보 등이 저장되는 설정 파일입니다.

paramkey.txt

화면상에서 각종 변수를 확인할 때 필요한 파일입니다.

ping.sh(bat)

현재 설정된 라이센스 키, WhaTap 수집 서버로 통신을 시도하여 설정이나 네트워크 상 이슈가 없는지 확인하기 위한 스크립트(배치) 파일입니다.

proxy.sh(bat)

whatap.agent.proxy를 시작하기 위한 스크립트(배치) 파일입니다.

resmon.sh(bat)

CPU / Memory / Disk 정보가 정상 수집이 되는지 확인하기 위한 스크립트(배치) 파일입니다.

whatap-logsink-lz4-*.jar

애플리케이션의 log 정보를 수집하기 위한 plugin 형식의 파일입니다.

whatap.agent-*.jar

애플리케이션의 각종 모니터링 정보를 수집 및 수집 서버에 전송하는 모니터링 에이전트 파일입니다.

whatap.agent.proxy-*.jar

애플리케이션이 동작하는 서버에서 WhaTap 측 수집 서버에 직접 연결이 불가한 경우, 그 사이의 Proxy 서버(경유 서버)에서 시작하는 애플리케이션입니다.

logs/whatap-[date].log

모니터링 에이전트에서 출력되는 로그 내용입니다.

에이전트 이름 식별

모니터링 대상을 식별하기 위해서는 이를 구분해야 할 필요가 있습니다. 와탭은 오브젝트 이름과 아이디를 통해서 대상을 구분합니다.

오브젝트(에이전트) 이름은 프로젝트 단위로 고유해야 합니다.
오브젝트 아이디/이름이 바뀌면 이전 데이터와 연결되지 않습니다.

와탭 모니터링 서비스에서는 모니터링 대상을 오브젝트 또는 에이전트로 혼용해서 사용합니다.

이름 결정 방식

추가적인 설정이 없는 경우 오브젝트 이름은 자동으로 결정됩니다.

예) IP 주소가 10.11.12.13인 서버에서 Tomcat이 8080 포트로 시작한 경우 TC-12-13-8080이라는 오브젝트 이름으로 자동 부여됩니다.
whatap.oname 설정이 없는 경우 (기본값)
1. whatap.type을 식별합니다.
2. whatap.type이 서블릿 컨테이너면 어플리케이션이 사용하는 포트를 식별합니다.
3. 포트가 식별되지 않는 경우라면 pid를 검색합니다.
4. 식별된 정보에 IPv4 주소 3, 4번째를 추가하여 최종 이름을 결정합니다.

결과 : {type}-{ip2}-{ip3}-{port}

이름 변수

와탭은 이름으로 사용할 수 있는 변수를 다음과 같이 제공합니다.

오브젝트 이름 패턴에 사용할 수 있는 변수 종류
문자열

지정한 문자열을 사용합니다.

{type}

컨테이너 타입을 자동 식별해 부여합니다. 자동 식별 대상은 다음과 같습니다.
JAVA, TOMCAT, JBOSS, RESIN, SPRINGBOOT, JETTY, JEUS, WEBLOGIC, WEBSPHERE, UNDERTOW, PLAY

{ip0}

IPv4 주소 중 첫 번째 수를 사용합니다.

{ip1}

IPv4 주소 중 두 번째 수를 사용합니다.

{ip2}

IPv4 주소 중 세 번째 수를 사용합니다.

{ip3}

IPv4 주소 중 네 번째 수를 사용합니다.

{pid}

Java Process의 pid를 사용합니다.

{port}

애플리케이션이 Listen 하는 포트를 사용합니다.

이름 지정

자동으로 부여된 이름 대신 직접 이름을 정할 수 있습니다.

우선순위

옵션

설정 위치

설명

1

-Dwhatap.name

JVM Option

애플리케이션명 패턴을 지정합니다.

default : {type}-{ip2}-{ip3}-{port}

2

-Dwhatap.oname

JVM Option

애플리케이션명을 고정값으로 지정합니다.

오브젝트 이름의 자동 부여

클라우드 환경에서 Scale Out 환경에서는 VM이 복사되어 사용될 수 있습니다. 때문에 오브젝트 이름이 자동 부여되는 것이 중요합니다.

동일 프라이빗 IP를 사용하는 환경에서 오브젝트 이름 자동 부여

만약 2개의 VPC 환경을 만들고 동일한 private IP를 사용하도록 네트워크를 구성한 경우 두 개의 VPC가 중복되면 안 됩니다. 예를 들어, 별도의 프로젝트로 분리하거나 -Dwhatap.name을 서로 다른 패턴으로 지정할 수 있습니다.

오브젝트 이름을 명시적으로 지정할 때는

java 실행 옵션에 지정할 수 있습니다.

-Dwhatap.oname=tomcat1
오브젝트 이름을 패턴으로 지정하고 싶을 때

문자열과 변수를 조합해 사용할 수 있습니다.

-Dwhatap.name=front-{ip3}-{port}