배치 애플리케이션
배치 애플리케이션에서 와탭 에이전트를 적용하는 방법입니다. 배치 애플리케이션은 WAS와는 다르게 애플리케이션이 실행과 중단을 반복하는 특성이 있습니다. 따라서 일반적인 웹 애플리케이션과 다르게 모니터링해야 합니다.
에이전트 다운로드
다음 명령어를 실행해 배치 애플리케이션 모니터링을 위한 에이전트를 다운로드할 수 있습니다.
wget https://api.whatap.io/agent/whatap.agent.batch.tar.gz
배치 에이전트 파일 구성
whatap.agent.batch.tar.gz
⎿ whatap.agent-x.y.z.jar: 자바 에이전트
⎿ whatap.agent.batch.host-x.y.z.jar: 배치 호스트(Batch Host) - 수집 서버로 데이터 전송
⎿ whatap.conf: 배치 호스트(Batch Host) 설정 파일(파일이 없는 경우 새로 생성하여 설정 > 에이전트 설치 메뉴의 license
, whatap.server.host
항목을 추가하세요.)
⎿ agent/whatap.agent.batch-x.y.z.jar: 배치 에이전트 - 애플리케이션 데이터를 수집하여 배치 호스트로 전송
⎿ agent/whatap.conf: 배치 에이전트 설정 파일
에이전트 설정하기
배치 호스트(Batch Host) 설정
license
, whatap.server.host
옵션값은 해당 프로젝트의 설정 > 에이전트 설치 메뉴에서 확인할 수 있습니다.
# default setting
license=
whatap.server.host=
# 스텝을 나누어서 전송
split_trace_enabled=true
# 하나의 트레이스에 표시할 최대 스텝 개수
trace_step_max_count=1024
배치 에이전트 설정
# default setting
net_udp_listen_ip=0.0.0.0
net_udp_listen_port=6611
# 배치 호스트와 통신 설정
net_udp_listen_ip=0.0.0.0
net_udp_listen_port=6611
# 배치 잡에서 http call 최대 개수
trace_httpc_limit=1000000
# 배치 잡에서 sql 최대 개수
trace_sql_limit=1000000
# 엑티브 스택 표시 여부
active_stack_enabled=true
# 5회 이내
active_stack_time1=5000
# 5회 이후
active_stack_time2=10000
# 최초 스택 시작시간
active_stack_start_wait_time=1000
배치 잡(Batch Job) 실행하기
배치 잡(Batch Job)을 하나의 트랜잭션 관점에서 모니터링해야 합니다. 그래서 와탭의 Java 에이전트는 Job 프로세스를 위한 Job 에이전트와 이 정보를 서버로 중계하기 위한 Host 에이전트로 분리된 두 개의 에이전트를 실행해야 합니다.
배치 호스트(Batch Host) 실행 명령어
- Linux
- Windows
java -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar:{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java --add-opens=java.base/java.lang=ALL-UNNAMED -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar:{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar;{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java --add-opens=java.base/java.lang=ALL-UNNAMED -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar;{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
배치 에이전트(Batch Agent) 실행 명령어
java -javaagent:{BATCH_AGENT_HOME}/whatap.agent.batch-x.y.z.jar -jar {APP_PATH}/batch-application.jar
java -javaagent:{BATCH_AGENT_HOME}/whatap.agent.batch-x.x.x.jar --add-opens=java.base/java.lang=ALL-UNNAMED -jar {APP_PATH}/batch-application.jar
배치 잡(Batch Job) 에이전트와 배치 호스트(Batch Host) 에이전트는 배치 잡(Batch Job)을 수행하는 호스트와 같이 설치 및 실행하세요.
Time Limit 설정
배치 잡(Batch Job) 에이전트와 배치 호스트(Batch Host) 에이전트 사이는 UDP를 이용해 통신합니다.
배치 잡(Batch Job)은 일반적으로 장시간 수행합니다. 수십초가 넘을 수도 있습니다. 따라서 배치 잡(Batch Job) 별로 time_limit
의 값은 다를 수 있습니다. 배치 잡(Batch Job)이 실행되는 예상 처리 시간을 time_limit
옵션에 설정하세요.
time_limit=300000
warning_time=70% of time_limit
step_interval=5000
액티브 이퀄라이저 컬러 설정
배치 잡(Batch Job)의 실행 시간이 time_limit
의 70%를 지나면 노란색으로 표시하고, time_limit
을 초과하면 빨간색으로 표시하도록 다음과 같이 설정하세요.
## 기대 종료시간의 70%
yellow_time = time_limit * 0.7;
## 기대 종료 시간을 초과
red_time = time_limit;
서버 운영자는 배치 잡(Batch Job)의 지연 여부를 실시간으로 확인하려면 time_limit
값을 적절하게 설정하세요.
액티브 스택 수집 간격 설정
배치 잡(Batch Job) 에이전트는 step_interval
옵션값의 간격으로 액티브 스택을 수집할 수 있습니다.
step_interval=5000
배치 에이전트의 메트릭 지표 수집
대시보드에는 배치 호스트(Batch Host)의 Heap Memory를 수집하고, 배치 애플리케이션의 성능 지표는 메트릭(TagCount: batch_job_counter
)으로 수집합니다.
batch_job_counter
- batch job:
pid
,hostname
,job_name
- gc:
gc_count
,gc_time_sum
,gc_oldgen_count
- heap:
heap_tot
,heap_use
,heap_max
,heap_pending_final
,heap_perm
- cpu:
cputime
- thread count:
thread_total_started
,thread_count
,thread_daemon
,thread_peak_count
다음 단계
-
오픈 소스 추적
애플리케이션에서 사용하는 프레임워크나 오픈소스 라이브러리에 따라 에이전트 옵션을 추가해야 할 수 있습니다. 예를 들어, 프레임워크나 오픈소스로 spring-boot-3.x, feign-client-11, okhttp3-4.4 사용 시 다음과 같이 옵션을 설정하세요.
whatap.confweaving=spring-boot-3.0,feign-11,okhttp3-4.4
사용자의 애플리케이션 환경에 맞는 프레임워크나 오픈소스 라이브러리를 설정하는 방법은 다음 문서를 참조하세요.
-
설치 점검하기
프로젝트 생성 및 에이전트 설치, JVM 옵션까지 모두 적용했다면 다음 문서에서 점검 사항을 확인하세요.
-
설치 문제 해결
에이전트 설치 시 발생할 수 있는 다양한 문제들과 이를 해결하기 위한 구체적인 지침을 제공합니다. 방화벽 설정, SpringBoot 및 Tomcat JMX 설정, OSGI 프레임워크 사용 서버 설정 등 다양한 상황에 대한 해결책을 안내합니다. 자세한 내용은 다음 문서를 참조하세요.
-
에이전트 설정
에이전트 설정(whatap.conf) 파일에 옵션을 적용해 모니터링을 위한 다양한 기능을 제공합니다. 기본 설정부터 서버 연결 및 데이터 전송 설정, 여러 애플리케이션 서버의 설정 파일 관리 방법, 트랜잭션 추적 등을 포함합니다. 자세한 내용은 다음 문서를 참조하세요.
-
모니터링 시작하기
모든 설정을 완료한 다음 애플리케이션 서버를 다시 시작하세요. 에이전트가 정보를 수집하기 시작합니다. 먼저 애플리케이션 대시보드 메뉴에서 모니터링 데이터가 수집되는지 확인하세요. 애플리케이션 대시보드에 대한 자세한 내용은 다음 문서를 참조하세요.