우선 Scouter 잘 사용 하고 있습니다.
최근 내부 시스템을 WebFlux 기반으로 바꾸면서 원하는대로 Scouter에 노출 되지 않아 해당 Zipkin 모듈을 사용하여 모니터링 하고자 합니다.
그런데 소스 중 의도와는 다르게 되어 있는 부분이 있어 문의 드립니다.
아래 라인은 objType을 정하여 XLog 뷰 처리시 묶을 처리 가능하게 한것으로 보이는데..
|
public static String toScouterObjType(String name, ScouterConfig conf) { |
|
if (StringUtil.isNotEmpty(name)) { |
|
Map<String, String> serviceToType = conf.getServiceToObjTypeMap(); |
|
return OBJ_TYPE_PREFIX + serviceToType.getOrDefault(name, name); |
|
} else { |
|
return "zipkin"; |
|
} |
|
} |
Zipkin 사용 시 application 이름이 다르면 각기 다르게 objType이 처리되어 묶여서 볼 수가 없는 구조가 됩니다.
의도한 동작이 맞을까요? (z$, zipkin 등 prefix 가 다르게 되어 있는 이유도 궁금합니다.)
아래도 비슷한 내용인데, objName을 구하는 과정에서 ZIPKIN 을 무조건 붙게 되어 Client 상에서는 그룹화 되어 처리 되는 것으로 보입니다.
원하는 내용은 기존 javaagent 처리방식과 동일하게 Host 이름을 넣고 싶은데 무조건 ZIPKIN 으로 강제한 이유가 있을까요?
|
public static String toScouterObjName(String name) { |
|
if (StringUtil.isNotEmpty(name)) { |
|
return OBJ_PREFIX + name; |
|
} else { |
|
return OBJ_PREFIX + UNKNOWN; |
|
} |
|
} |
끝으로 아래 부분은 serviceName을 구하는 부분인데 Client 타입만 처리되어 실제로 상세 내용을 봐야 호출 내용이 무엇인지 알수가 있게 되어 있습니다.
|
if (pack.spanType == SpanTypes.CLIENT) { |
기존 javaagent 처리방식과 동일하게 serviceName을 표출 하고 싶은데 이것도 이유가 있는 부분인지 궁금합니다.
(text1 등이 옵션에 있어 처리는 가능하나, 별다른 옵션 처리 없이도 기존과 동일하게 노출 되면 좋겠습니다.)
최종적으로 수정되고 Client에서 보여지는 방식은 아래와 같게 하고 싶습니다.
그리고 별도로 라이브러리를 수정해서 내부에 관리하기 보다는 Central Repository에서 제공 받고 싶은데요.
해당 프로젝트 지속적인 업데이트가 가능할지 여부도 알려주시면 감사하겠습니다.



우선 Scouter 잘 사용 하고 있습니다.
최근 내부 시스템을 WebFlux 기반으로 바꾸면서 원하는대로 Scouter에 노출 되지 않아 해당 Zipkin 모듈을 사용하여 모니터링 하고자 합니다.
그런데 소스 중 의도와는 다르게 되어 있는 부분이 있어 문의 드립니다.
아래 라인은 objType을 정하여 XLog 뷰 처리시 묶을 처리 가능하게 한것으로 보이는데..
zipkin-scouter/storage-scouter-udp/src/main/java/zipkin2/storage/scouter/ScouterConstants.java
Lines 24 to 31 in ca378ea
Zipkin 사용 시 application 이름이 다르면 각기 다르게 objType이 처리되어 묶여서 볼 수가 없는 구조가 됩니다.
의도한 동작이 맞을까요? (z$, zipkin 등 prefix 가 다르게 되어 있는 이유도 궁금합니다.)
아래도 비슷한 내용인데, objName을 구하는 과정에서 ZIPKIN 을 무조건 붙게 되어 Client 상에서는 그룹화 되어 처리 되는 것으로 보입니다.
원하는 내용은 기존 javaagent 처리방식과 동일하게 Host 이름을 넣고 싶은데 무조건 ZIPKIN 으로 강제한 이유가 있을까요?
zipkin-scouter/storage-scouter-udp/src/main/java/zipkin2/storage/scouter/ScouterConstants.java
Lines 16 to 22 in ca378ea
끝으로 아래 부분은 serviceName을 구하는 부분인데 Client 타입만 처리되어 실제로 상세 내용을 봐야 호출 내용이 무엇인지 알수가 있게 되어 있습니다.
zipkin-scouter/storage-scouter-udp/src/main/java/zipkin2/storage/scouter/udp/net/DataProxy.java
Line 334 in ca378ea
기존 javaagent 처리방식과 동일하게 serviceName을 표출 하고 싶은데 이것도 이유가 있는 부분인지 궁금합니다.
(text1 등이 옵션에 있어 처리는 가능하나, 별다른 옵션 처리 없이도 기존과 동일하게 노출 되면 좋겠습니다.)
최종적으로 수정되고 Client에서 보여지는 방식은 아래와 같게 하고 싶습니다.
그리고 별도로 라이브러리를 수정해서 내부에 관리하기 보다는 Central Repository에서 제공 받고 싶은데요.
해당 프로젝트 지속적인 업데이트가 가능할지 여부도 알려주시면 감사하겠습니다.