•
•
• 💖
• 💖
$ wget -O zipkin.jar bit.ly/zipkin-server
$ java -jar zipkin.jar
$ STORAGE_TYPE=mysql 
MYSQL_DB=... 

MYSQL_USER=... 
MYSQL_PASS=... 
MYSQL_HOST=... 
MUSQL_TCP_PORT=... 
java -jar zipkin.jar
$ STORAGE_TYPE=elasticsearch 
ES_HOSTS=... 

ES_USERNAME=... 
ES_PASSWORD=... 
java -jar zipkin.jar
# in case of Kafka 0.8.x
$ KAFKA_ZOOKEEPER=127.0.0.1:2181 
java -jar zipkin.jar
# in case of Kafka 0.10.x
$ wget -O collector.jar 
bit.ly/collector-kafka
$ KAFKA_BOOTSTRAP_SERVERS=127.0.0.1:9092 

java -Dloader.path=
'collector.jar,collector.jar!/lib' 
-Dspring.profiles.active=kafka 
-cp zipkin.jar 
org.springframework.boot.loader.PropertiesLauncher
<dependency><!-- HTTP Collector, Query API -->
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency><!-- UI -->
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>
<dependency><!-- Storage -->
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-mysql</artifactId>
</dependency>
<dependency><!-- Collector -->
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-collector-kafka10</artifactId>
</dependency>
@SpringBootApplication
@EnableZipkinServer
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
server.port=9411
# Storage
zipkin.storage.type=mysql
zipkin.storage.mysql.host=xxxxxxxxxx
zipkin.storage.mysql.port=xxxxxxxxxx
zipkin.storage.mysql.username=xxxxxxxxxx
zipkin.storage.mysql.password=xxxxxxxxxx
zipkin.storage.mysql.db=xxxxxxxxxx
# Collector
zipkin.collector.kafka.bootstrap-servers=127.0.0.1:9092
🔑🔐👬
<dependency><!-- OAuth2 -->
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
@SpringBootApplication
@EnableZipkinServer
@EnableOAuth2Sso
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
security.oauth2.client.client-id=xxxxxx
security.oauth2.client.client-secret=xxxxxxx
security.oauth2.client.access-token-uri=https://github.com/login/
oauth/access_token
security.oauth2.client.user-authorization-uri=https://github.com/
login/oauth/authorize
security.oauth2.client.scope=user:email
security.oauth2.resource.user-info-uri=https://api.github.com/user
@SpringBootApplication
@EnableZipkinServer
@EnableOAuth2Sso
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@Configuration
@Order(-10)
public class ApiSecurityConfig extends
WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws
Exception {
http.requestMatchers()
.mvcMatchers("/api/v1/**")
.and()
.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.httpBasic();
}
}
@Configuration
@Order(-5)
public class UiSecurityConfig extends
WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws
Exception {
http.requestMatchers()
.antMatchers("/**")
.and()
.authorizeRequests()
.antMatchers("/login*", "/login/**").permitAll()
.anyRequest().authenticated(); // or hasRole("ADMIN")
}
}
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jp

Zipkin Components #zipkin_jp