sleuth+zipkin+rabbitmq+logstash+elasticsearch+kibana 实现微服务链路追踪,同步消息到es

大致步骤参考 https://www.freesion.com/article/310956954/ 来实现

总结一下其中的几个坑

坑一:3.3 步骤放开的几个注释导致 kibana 启动运行后闪退

解决办法:依然注释掉放开的几个配置就可以正常运行了

坑二:4.2 步骤添加了 logback-spring.xml 后,项目启动报错 “Attempting to connect to: MQHost_IS_UNDEFINED:5672

原因:logback-spring.xml 中的几个参数没有从 application.yml 文件中读取到,但 application.yml 中确实配置了如下的参数,需要读取配置的参数如下图

sleuth+zipkin+rabbitmq+logstash+elasticsearch+kibana 实现微服务链路追踪,同步消息到es_第1张图片

sleuth+zipkin+rabbitmq+logstash+elasticsearch+kibana 实现微服务链路追踪,同步消息到es_第2张图片

解决办法:在 resource 目录下新建一个 boostrap.yml 文件(与 application.yml 同级),在里面配置 logback-spring.xml 需要读取的参数,然后再重新启动就没问题了。bootstrap.yml 用来在程序引导时执行,应用于更加早期配置信息读取,比 application.yml 优先加载,配置信息如下

# logback-spring.xml 读取的参数
spring:
  application:
    name: eureka-client
  rabbitmq:
    host: localhost
    username: guest
    password: guest
    port: 5672

坑三:4.3 步骤注意链路信息是被同步到了 es 的 logstash-%{+YYYY.MM.dd} 索引下,不是前面自己新建的 zipkin 索引下,可以自己修改同步的索引名称,在 es 中可以先通过 GET _cat/indices 查看所有的索引信息,再 GET logstash-2020.04.15/_search 查看链路信息

sleuth+zipkin+rabbitmq+logstash+elasticsearch+kibana 实现微服务链路追踪,同步消息到es_第3张图片

你可能感兴趣的:(spring,cloud)