带有 Elasticsearch 的 Sleuth + Zipkin
Sleuth + Zipkins with Elasticsearch
任何人都可以指出 required/working 配置以将 Elasticsearch 用作 Zipkins 和 Sleuth 的存储类型吗?
pom.xml
'
<description>Spring Boot Zipkin Server</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.7.RELEASE</version>
</parent>
<properties>
<docker.image.prefix>springio</docker.image.prefix>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<sonar.skip>true</sonar.skip>
<zipkin.version>1.6.0</zipkin.version>
<elasticsearch.version>2.3.4</elasticsearch.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!-- EXAMPLE FOR RABBIT BINDING -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<finalName>demo-zipkin-server</finalName>
</configuration>
</plugin>
</plugins>
</build>
`
application.yml
服务器:
端口:9411
spring:
兔子:
主机:${RABBIT_HOST:localhost}
尤里卡:
客户:
注册尤里卡:真
服务-url:
默认区域:<a href="http://localhost:8761/eureka/" rel="nofollow noreferrer">http://localhost:8761/eureka/</a>
拉链:
自我追踪:
启用:假
贮存:
类型:弹性搜索
弹性搜索:
集群:${ES_CLUSTER:elasticsearch}
主机:${ES_HOSTS:localhost:9300}
索引:${ES_INDEX:zipkin}
索引分片:${ES_INDEX_SHARDS:5}
索引副本:${ES_INDEX_REPLICAS:1}
应用程序无法使用这些配置启动。它抛出
原因:java.lang.NoSuchMethodError:org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper.inboundMappe
使用spring云流收集器http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html#_spring_cloud_sleuth_stream_zipkin_collector with an elasticsearch data store https://github.com/openzipkin/zipkin/blob/master/zipkin-server/README.md#elasticsearch-storage
您发布的类路径问题是特定于版本的。请更新到最新版本的依赖项。
例如,您可以使用 start.spring.io 或其他方式从基础项目开始,以获取最近的支持。您也可以像这样复制一个项目:
https://github.com/openzipkin/sleuth-webmvc-example
Zipkin 目前原生支持 elasticsearch(意味着它不使用 Elasticsearch 驱动程序)。所以,自动配置的依赖是:
<!-- override sleuth's zipkin version since we are using latest -->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
<version>1.28.1</version>
</dependency>
<!-- add the dependency for elasticsearch via http -->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
<version>1.28.1</version>
</dependency>
最小设置 zipkin.storage.type=elasticsearch。然后,设置你 overriding 注意 elasticsearch 的 http 端口是 9200 而不是 9300
最后,请为 zipkin 中的原生 RabbitMQ 支持点赞,这样您就不需要执行任何这些操作了! https://github.com/openzipkin/zipkin/issues/1614
任何人都可以指出 required/working 配置以将 Elasticsearch 用作 Zipkins 和 Sleuth 的存储类型吗?
pom.xml
'
<description>Spring Boot Zipkin Server</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.7.RELEASE</version>
</parent>
<properties>
<docker.image.prefix>springio</docker.image.prefix>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<sonar.skip>true</sonar.skip>
<zipkin.version>1.6.0</zipkin.version>
<elasticsearch.version>2.3.4</elasticsearch.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!-- EXAMPLE FOR RABBIT BINDING -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<finalName>demo-zipkin-server</finalName>
</configuration>
</plugin>
</plugins>
</build>
`
application.yml
服务器:
端口:9411
spring:
兔子:
主机:${RABBIT_HOST:localhost}
尤里卡:
客户:
注册尤里卡:真
服务-url:
默认区域:<a href="http://localhost:8761/eureka/" rel="nofollow noreferrer">http://localhost:8761/eureka/</a>
拉链:
自我追踪:
启用:假
贮存:
类型:弹性搜索
弹性搜索:
集群:${ES_CLUSTER:elasticsearch}
主机:${ES_HOSTS:localhost:9300}
索引:${ES_INDEX:zipkin}
索引分片:${ES_INDEX_SHARDS:5}
索引副本:${ES_INDEX_REPLICAS:1}
应用程序无法使用这些配置启动。它抛出 原因:java.lang.NoSuchMethodError:org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper.inboundMappe
使用spring云流收集器http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html#_spring_cloud_sleuth_stream_zipkin_collector with an elasticsearch data store https://github.com/openzipkin/zipkin/blob/master/zipkin-server/README.md#elasticsearch-storage
您发布的类路径问题是特定于版本的。请更新到最新版本的依赖项。
例如,您可以使用 start.spring.io 或其他方式从基础项目开始,以获取最近的支持。您也可以像这样复制一个项目:
https://github.com/openzipkin/sleuth-webmvc-example
Zipkin 目前原生支持 elasticsearch(意味着它不使用 Elasticsearch 驱动程序)。所以,自动配置的依赖是:
<!-- override sleuth's zipkin version since we are using latest -->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
<version>1.28.1</version>
</dependency>
<!-- add the dependency for elasticsearch via http -->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
<version>1.28.1</version>
</dependency>
最小设置 zipkin.storage.type=elasticsearch。然后,设置你 overriding 注意 elasticsearch 的 http 端口是 9200 而不是 9300
最后,请为 zipkin 中的原生 RabbitMQ 支持点赞,这样您就不需要执行任何这些操作了! https://github.com/openzipkin/zipkin/issues/1614