Java Agent 2.1.0
v2.1.0
2021-12-15
자바 에이전트 배포 패키지 구성 변경
whatap.agent-2.1.0 부터 와탭랩스 자바 에이전트 패키지 구성을 변경 하였습니다.
-
whatap.agent-2.1.0.jar : 에이전트 코어 jar
-
whatap.agent.proxy-2.1.0.jar : 와탭 서버와 직접연결이 어려워 우회 연결 지원
-
whatap-logsink-lz4-1.7.0.jar : 로그모니터링(LogSink)에서 데이터를 압축 하기 위한 플러그 모듈 (기본은 JDK에서 기본으로 제공하는 GZIP 사용)
멀티서버 추적(mtrace) 자동화
멀티 서버 연결추적 기본정책 변경
에이전트간 호출 성능 추적 기본값을 on으로 변경 하였습니다.
tx_caller_meter_enabled = true sql_dbc_meter_enabled = true httpc_host_meter_enabled = true actx_meter_enabled = true actx_slice_meter_enabled = true tx_caller_meter_pkind_enabled = true actx_meter_pkind_enabled = true
멀티 서버 추적 자동 적용
User Agent를 기반으로 브라우저가 호출하는 트랜잭션에 한하여 자동으로 처리하도록 변경 하였습니다. (User Agent가 'Moz’로 시작하는 경우에 한하여 mtrace_rate가 동작하는 방식)
mtrace_auto_enabled=true (기본값) mtraceable_user_agent=Moz (기본값)
추적 정보 개선
URL 패턴을 서버에 설정하도록 변경
와탭랩스에서는 Service 혹은 HttpClient URL의 패턴을 와탭서버에서 설정하여 수집하도록 변경 하였습니다.
URL 패턴 설정 대상
1. Service URL 2. HttpClient URL
기존 에이전트 설정 방식으로는 쿠버네티스 환경에서 변경에 어려움 |
애플리케이션 로그 모니터링
애플리케이션 로그를 통합 모니터링 하는 기능을 추가 하였습니다.
자바 애플리케이션에서 로그 모니터링 기능을 사용하기 위해서는 whatap.agent-2.1.0 이후 버전이 필요합니다.
whatap.agent-2.1.0 이후 버전 |
와탭의 애플리케이션 로그 모니터링의 기능 명칭은 로그싱크(LogSink) 입니다.
로그 모니터링 기능 활성화
로그 모니터링을 위해서는 whatap.conf 설정 파일에서 logsink_enabled를 true로 설정 해야 합니다.
logsink_enabled=true
자바 애플리케이션에서 발생하는 System.out, System.err 그리고 프레임워크에서 구현한 LOGBACK, LOG4J 로그를 수집 합니다. 기본값은 logsink_enabled 의 설정과 동일 합니다.
logsink_stdout_enabled=logsink_enabled logsink_stderr_enabled=logsink_enabled logsink_logback_enabled=logsink_enabled logsink_log4j_enabled=logsink_enabled logsink_tomcat_enabled=logsink_enabled logsink_custom_enabled=logsink_enabled
프레임워크에서 로그내용 수집
프레임워크에서 수집하는 로그를 모니터링 하기 위해서는 모듈에서 로그를 가로채기 위한 설정과 플러그인을 추가해야 합니다. 프레임워크에서 수집하는 로그의 기본 카테고리 이름을 'AppLog’로 설정합니다. 기본값은 hooklog_enabled의 설정과 동일 합니다.
hooklog_logback_enabled=hooklog_enabled; hooklog_log4j_enabled=hooklog_enabled; hooklog_tomcat_enabled=hooklog_enabled; hooklog_custom_methods= (사용자 메소드에서 로그 수집 설정)
다만 hooklog_enabled는 기본값으로 logsink_enabled 값이 적용되며 기동전에 true로 설정할 필요가 있습니다. 운영중에 hooklog_enabled=true로 변경한다면 재기동 후에 로그 수집이 가능합니다.
logsink_enabled=true 변경 후 재기동 |
로그 압축전송
수집된 데이터는 압축전송이 가능합니다.
로그 압축 전송 활성화/디버깅
logsink_zip_enabled=true 설정으로 로그를 압축 전송할 수 있습니다.
logsink_zip_enabled=false debug_logsink_zip_enabled=false
모든 데이터를 압축하지는 않으며 압축전송여부를 확인할때 debug 옵션을 활용합니다.
IBM Java6 웹스피어 환경에서 에이전트가 동작하지 않는 문제 수정
IBM Java6 웹스피어 환경에서 WhaTap Agent가 초기화 되지 못하고 데이터를 수집하지 못하는 문제를 수정 하였습니다.
ManagementFactory.getPlatformMBeanServer() 로직이 내부적으로 오류가 발생하면서 WhaTap Agent가 초기화되지 못하는 문제 |
CounterPack 디버깅 옵션 추가
에이전트에서 전송하는 실시간 성능 데이터의 전송 여부를 디버깅 하기 위한 옵션을 추가 하였습니다.
debug_counterpack_enabled=true (기본값) debug_counterpack_factor=3 (기본값) debug_counterpack_recvtime=9000 (기본값)
에이전트의 큐에 전송대기 상태의 CounterPack이 3 이상 늘어나거나 가장 최근에 받은 서버 데이터의 전송속도가 9000ms를 초과하는 경우 로그로 표시 합니다.
Text & ActiveStack 정보 수집시 압축 옵션 추가
Text 데이터와 ActiveStack 정보를 수집할 때 압축할 수 있는 옵션을 추가 하였습니다.
active_stack_zip_enabled=false (기본값) text_zip_enabled=false (기본값)
시스템 메트릭 수집 라이브러리 변경 및 메모리 데이터 수집 오류 수정
OSHI 추가
OSHI(Operating System and Hardware Information)는 시스템 인프라 매트릭을 수집하기 위한 라이브러리로, 최근에도 활발히 업데이트 되고 있어 시스템 성능 지표를 수집하기 위한 라이브러리로 선택 하였습니다. 단, Java8 이상의 환경에서만 사용 가능합니다.
-
oshi_enabled=false (기본값)
-
jdk8 이상에서만 사용가능
-
disk="."에 대한 사용량 측정 및 경고 기능 가능
환경변수 조회기능 옵션 처리
에이전트에서 환경변수 조회시 기능 동작 여부를 ON/OFF 할 수 있게 옵션을 추가 하였습니다.
agent_env_system_enabled=true agent_env_jvm_enabled=true
프로세스 환경변수와 자바 환경변수에 대해서 조회가능 여부를 옵션으로 통제할 수 있습니다.
에이전트 환경변수 조회시 특정 키를 제외하는 옵션
자바 실행환경의 환경변수를 조회하는 기능에서 특정 환경변수를 제외할 수 있는 옵션을 추가 하였습니다.
agent_env_ignore_keys=USER,Address
',' 구분자를 사용하여 옵션지정하며, 대소문자를 구분하지 않습니다.