diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/zipkin.properties b/spring-cloud/spring-cloud-bootstrap/application-config/zipkin.properties
new file mode 100644
index 0000000000..ca3aed2263
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/application-config/zipkin.properties
@@ -0,0 +1,7 @@
+spring.application.name=zipkin
+server.port=9411
+
+eureka.client.region = default
+eureka.client.registryFetchIntervalSeconds = 5
+
+logging.level.org.springframework.web=debug
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/pom.xml b/spring-cloud/spring-cloud-bootstrap/gateway/pom.xml
index 044730ba22..97c440c249 100644
--- a/spring-cloud/spring-cloud-bootstrap/gateway/pom.xml
+++ b/spring-cloud/spring-cloud-bootstrap/gateway/pom.xml
@@ -41,6 +41,11 @@
spring-boot-starter-data-redis
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
index 9e5c424403..935e50ec72 100644
--- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
+++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
@@ -23,6 +23,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/book-service/books").permitAll()
+ .antMatchers("/zipkin/**").permitAll()
.antMatchers("/eureka/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
index 43491ff36b..ca453e1007 100644
--- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
+++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
@@ -4,4 +4,12 @@ spring.cloud.config.discovery.enabled=true
spring.cloud.config.username=configUser
spring.cloud.config.password=configPassword
-eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:8082/eureka/
\ No newline at end of file
+eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:8082/eureka/
+
+zuul.routes.zipkin.path=/zipkin/**
+zuul.routes.zipkin.sensitive-headers=Set-Cookie,Authorization
+hystrix.command.zipkin.execution.isolation.thread.timeoutInMilliseconds=600000
+
+spring.sleuth.sampler.percentage=1.0
+spring.sleuth.web.skipPattern=(.+?cleanup.*|.+favicon.*)
+spring.zipkin.base-url=http://zipkin
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-bootstrap/pom.xml b/spring-cloud/spring-cloud-bootstrap/pom.xml
index ccfbdb9735..83879cf7d4 100644
--- a/spring-cloud/spring-cloud-bootstrap/pom.xml
+++ b/spring-cloud/spring-cloud-bootstrap/pom.xml
@@ -16,6 +16,7 @@
gateway
svc-book
svc-rating
+ zipkin
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml b/spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml
index c351c444f6..cbf7083b83 100644
--- a/spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml
+++ b/spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml
@@ -53,6 +53,11 @@
runtime
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
index 8f3a3261ac..e8360ecb6f 100644
--- a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
+++ b/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
@@ -5,3 +5,6 @@ spring.cloud.config.username=configUser
spring.cloud.config.password=configPassword
eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:8082/eureka/
+
+spring.sleuth.sampler.percentage=1.0
+spring.zipkin.base-url=http://zipkin
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml b/spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml
index 2285286812..f02ba88f04 100644
--- a/spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml
+++ b/spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml
@@ -53,6 +53,11 @@
runtime
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
index be5cf7f1e1..a43e7d76a5 100644
--- a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
+++ b/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
@@ -5,3 +5,6 @@ spring.cloud.config.username=configUser
spring.cloud.config.password=configPassword
eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:8082/eureka/
+
+spring.sleuth.sampler.percentage=1.0
+spring.zipkin.base-url=http://zipkin
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/pom.xml b/spring-cloud/spring-cloud-bootstrap/zipkin/pom.xml
new file mode 100644
index 0000000000..9d43590366
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/zipkin/pom.xml
@@ -0,0 +1,101 @@
+
+
+ 4.0.0
+
+ zipkin
+ 1.0.0-SNAPSHOT
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.4.4.RELEASE
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-config
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+
+ io.zipkin.java
+ zipkin-server
+
+
+
+ io.zipkin.java
+ zipkin-autoconfigure-ui
+ runtime
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud-dependencies.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ 1.8
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ **/*LiveTest.java
+
+
+
+
+
+
+
+ Brixton.SR7
+ 3.6.0
+
+
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java b/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java
new file mode 100644
index 0000000000..bb1355e258
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java
@@ -0,0 +1,15 @@
+package com.baeldung.spring.cloud.bootstrap.zipkin;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import zipkin.server.EnableZipkinServer;
+
+@SpringBootApplication
+@EnableEurekaClient
+@EnableZipkinServer
+public class ZipkinApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(ZipkinApplication.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties
new file mode 100644
index 0000000000..9569179a4f
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties
@@ -0,0 +1,7 @@
+spring.cloud.config.name=zipkin
+spring.cloud.config.discovery.service-id=config
+spring.cloud.config.discovery.enabled=true
+spring.cloud.config.username=configUser
+spring.cloud.config.password=configPassword
+
+eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:8082/eureka/
\ No newline at end of file