Spring Cloud Sleuth, Open Zipkin 을 이용한 분산 추적 (4/4) - 로그 시각화를 위한 Open Zipkin 사용

This commit is contained in:
assu10
2021-02-14 19:55:02 +09:00
parent 3102f52c5d
commit 11f0198222
12 changed files with 63 additions and 9 deletions

View File

@@ -102,6 +102,15 @@
<version>6.6</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View File

@@ -51,6 +51,7 @@ public class EventController {
*/
@GetMapping(value = "member/{nick}")
public String getMemberName(@PathVariable("nick") String nick) {
logger.info("[EVENT] Calling member's name/nick {}", nick);
return memberFeignClient.getYourName(nick);
}
@@ -60,6 +61,10 @@ public class EventController {
@GetMapping(value = "gift/{name}")
public String gift(@PathVariable("name") String gift) {
//sleep();
logger.info("[EVENT] Gift is {} logging...gift is {}.", gift);
memberFeignClient.getYourName(gift);
return "[EVENT] Gift is " + gift;
}

View File

@@ -14,6 +14,14 @@ spring:
binder:
zkNodes: localhost # zkNodes, brokers 는 스트림에게 카프카와 주키퍼의 네트워크 위치 전달
brokers: localhost
zipkin:
enabled: true
base-url: http://localhost:9411 # 집킨 통신에 사용되는 URL
sleuth:
enabled: true
sampler:
probability: 1.0 # 집킨 으로 데이터를 전송하는 트랜잭션 샘플링 비율
server:
port: 8070
your.name: "EVENT DEFAULT."

View File

@@ -4,6 +4,11 @@
<include resource="org/springframework/boot/logging/logback/base.xml" />
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- sleuth -->
<!--<property name="spring.application.name" value="event-service" />
<property name="CONSOLE_LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [${spring.application.name}] [trace=%X{X-Trace-Id:-},span=%X{X-Span-Id:-}] [%15.15t] %-40.40logger{39}: %m%n" />-->
<appender name="STASH" class="net.logstash.logback.appender.LogstashAccessTcpSocketAppender">
<destination>localhost:4560</destination>
<!-- encoder 필요 -->

View File

@@ -91,6 +91,15 @@
<version>6.6</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View File

@@ -32,7 +32,7 @@ public class MemberController {
@GetMapping(value = "name/{nick}")
public String getYourName(ServletRequest req, @PathVariable("nick") String nick) {
logger.info("[MEMBER] name/{nick} logging...nick is {}.", nick);
logger.info("[MEMBER] ASSU name/{nick} logging...nick is {}.", nick);
return "[MEMBER] Your name is " + customConfig.getYourName() + " / nickname is " + nick + " / port is " + req.getServerPort();
}
@@ -41,6 +41,7 @@ public class MemberController {
*/
@GetMapping(value = "gift/{name}")
public String gift(ServletRequest req, @PathVariable("name") String name) {
logger.info("[MEMBER] gift/{name} logging...name is {}.", name);
return "[MEMBER] " + eventRestTemplateClient.gift(name) + " / port is " + req.getServerPort();
}

View File

@@ -13,6 +13,14 @@ spring:
binder:
zkNodes: localhost # zkNodes, brokers 는 스트림에게 카프카와 주키퍼의 네트워크 위치 전달
brokers: localhost
zipkin:
enabled: true
base-url: http://localhost:9411 # 집킨 통신에 사용되는 URL
sleuth:
enabled: true
sampler:
probability: 1.0 # 집킨 으로 데이터를 전송하는 트랜잭션 샘플링 비율
server:
port: 8090
your.name: "MEMBER DEFAULT..."

View File

@@ -1,8 +0,0 @@
#spring:
# application:
# name: member-service # 서비스 ID (컨피그 클라이언트가 어떤 서비스를 조회하는지 매핑)
# profiles:
# active: default # 서비스가 실행할 기본 프로파일
# cloud:
# config:
# uri: http://localhost:8889 # 컨피그 서버 위치

View File

@@ -4,6 +4,11 @@
<include resource="org/springframework/boot/logging/logback/base.xml" />
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- sleuth -->
<!--<property name="spring.application.name" value="member-service"/>
<property name="CONSOLE_LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [${spring.application.name}] [trace=%X{X-Trace-Id:-},span=%X{X-Span-Id:-}] [%15.15t] %-40.40logger{39}: %m%n"/>-->
<appender name="STASH" class="net.logstash.logback.appender.LogstashAccessTcpSocketAppender">
<destination>localhost:4560</destination>
<!-- encoder 필요 -->

View File

@@ -23,6 +23,7 @@
<module>eurekaserver</module>
<module>zuulserver</module>
<module>auth-service</module>
</modules>
<build>

View File

@@ -72,6 +72,15 @@
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View File

@@ -3,6 +3,8 @@ spring:
name: zuulserver # 서비스 ID (컨피그 클라이언트가 어떤 서비스를 조회하는지 매핑)
profiles:
active: default # 서비스가 실행할 기본 프로파일
zipkin:
base-url: http://localhost:9411 # 집킨 통신에 사용되는 URL
server:
port: 5555