微服务SpringCloud使用Turbine+RabbitMQ+Dashboard聚合监控数据

在搭建springcloud微服务时,可以使用Turbine进行监控多个微服务,用dashboard展示数据。

不过在springboot1.5.x+springcloudEdgware版,使用消息中间间收集数据时会出现一个错误,导致Turbine整合rabbitmq项目无法运行。

错误信息:org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.cloud.netflix.turbine.stream.TurbineStreamConfiguration'; nested exception is java.net.BindException: Address already in use: bind

导致原因:Turbine整合rabbitmq时会启动一个Netty容器,并将server.port 设为-1 ,从而关闭Servlet容器,就会导致yml文件中server.port无法正常工作。

解决办法:修改yml文件

server:
  port: 28031
spring:
  application:
    name: turbinservice
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ipAddress}:28031
    non-secure-port: 28031
management:
  port: 20011
  • 1.server.port尽量设置大一点,不然可能还是会报错
  • 2.添加“non-secure-port:”该值与server.port的值一样
  • 3.添加“management.port”该值设置一个随机数,尽量大一些,要与server.port的值不一样

注意:使用IDEA运行的话,需要设置端口不一样。

该方法可能只对springboot1.5.x+springcloud Edgware版有效,可能其他版本不会有这个整合的问题。

在贴出我turbine+rabbitmq的pom文件

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-turbine-stream</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </dependency>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值