1. 개요

 내부망에는 제니퍼소프트에 Jeniffer가 있지만, 외부망에는 존재하지 않아 별도로 APM Scouter를 구축하였다.

구축하고 대략 2달 정도가 지났는데 Xlog도 기록되지 않고 이상하게 호출 양 기록 이 정상적이지 않아 다시 수정해보기로한다. 다만, 수정하는 과정에서 몇가지 이상 징후가 포착된다.

 

2. 조치

 1) JEUS WAS에서는 "#hook_exception_class_patterns=com..*" 해당 옵션을 넣을시에 JEUS 기동시 Register 0 이슈로 인해 StandBy 상태로 진입하여 장애가 발생한다. 그래서 해당 옵션을 제외하고 아래와 같이 설정한다.

 

3. 코드

net_collector_ip=
net_collector_tcp_port=6100
net_collector_udp_port=6200

monitoring_group_type=tomcat

#그리고 XLog 정보에는 ip 정보가 포함되는데 proxy 등을 경유하는 경우 사용자 IP를 (x-forwarded-for 같은) http header에서 구해오도록 설정할 수 있습니다.
trace_http_client_ip_header_key=X-Forwarded-For


monitoring_group_type=tomcat

#그리고 XLog 정보에는 ip 정보가 포함되는데 proxy 등을 경유하는 경우 사용자 IP를 (x-forwarded-for 같은) http header에서 구해오도록 설정할 수 있습니다.
trace_http_client_ip_header_key=X-Forwarded-For

#서비스 연계 추적
trace_interservice_enabled=true

#Activating collect sub counters using JMX
jmx_counter_enabled=true

#Http Parameter profile
profile_http_parameter_enabled=true


hook_method_access_public_enabled=true
hook_method_access_private_enabled=true
hook_method_access_protected_enabled=true
#Activating default Method hooking
hook_method_access_none_enabled=true
hook_method_exclude_patterns=
hook_method_ignore_classes=

#기본값
hook_method_ignore_prefixes=get,set

#http header 정보를 profile 합니다. profile_http_header_key가 정의되지 않았으면 전체 header를 profile합니다.
profile_http_header_enabled=true

#profile할 http header의 이름들을 comma로 구분하여 기입합니다.
profile_http_header_keys=

profile_http_parameter_enabled=true
profile_http_querystring_enabled=true

#Spring의 request mapping method의 parameter를 profiling합니다.
#profiling되는 값은 각 파라미터 오브젝트의 toString() method의 값입니다.
profile_spring_controller_method_parameter_enabled=true

#error로 마킹할 Exception class pattern을 지정합니다.
#상속받은 Exception class의 이름까지 검색합니다.
#hook_exception_class_patterns=com.imoxion.*

#위 패턴에서 제외할 패턴을 지정합니다.(예를 들어 MyPjtException을 지정하였으나, 이를 상속받은 MyPjtBizException은 제외하려면 여기에 설정합니다.)
hook_exception_exclude_class_patterns=
#Exception handler method의 pattern을 지정합니다. 이 메소드로 전달되는 Exception class의 정보로 error 정보를 profiling 합니다.
hook_exception_handler_method_patterns=*Exception

#위 메소드에 전달되는 Exception 중 error 마킹에서 제외할 class 정보를 입력합니다.
hook_exception_handler_exclude_class_patterns=

profile_fullstack_hooked_exception_enabled=false
xlog_error_on_sqlexception_enabled=true
xlog_error_on_apicall_exception_enabled=true
xlog_error_sql_time_max_ms=3000
xlog_error_jdbc_fetch_max=1000

##### [XLog Sampling] #####
xlog_sampling_enabled=false
#xlog는 유지하고 profile 정보만 샘플링한다.
xlog_patterned_sampling_only_profile=false
xlog_sampling_step1_ms=100
xlog_sampling_step1_rate_pct=3
xlog_sampling_step2_ms=200
xlog_sampling_step2_rate_pct=10
xlog_sampling_step3_ms=500
xlog_sampling_step3_rate_pct=30
xlog_sampling_over_rate_pct=100

##### [XLog Patterned Sampling] #####
xlog_patterned_sampling_enabled=false
xlog_patterned_sampling_service_patterns=
#xlog는 유지하고 profile 정보만 샘플링한다.
xlog_patterned_sampling_only_profile=false
xlog_patterned_sampling_step1_ms=100
xlog_patterned_sampling_step1_rate_pct=3
xlog_patterned_sampling_step2_ms=1000
xlog_patterned_sampling_step2_rate_pct=10
xlog_patterned_sampling_step3_ms=3000
xlog_patterned_sampling_step3_rate_pct=30
xlog_patterned_sampling_over_rate_pct=100
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기