(超详细)Spring Cloud Admin 2.x集成hystrix-dashboard+eureka监控

该文章的截图全部来自于博主正在开发的springcloud脚手架项目,可能没有单独拿出来写一个项目那么清晰,若有不明白的地方,可以私信问博主。

如果仅需要在Admin 2.x中集成hystrix-dashboard,看“二.创建admin”部分的pom配置即可

一.创建eureka

创建maven项目
在这里插入图片描述
pom配置

    <dependencies>
    	<!--eureka服务端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>

启动项

@SpringBootApplication
@EnableEurekaServer  //Eureka服务端的启动类
public class EurekaServer_7001 {
    public static void main(String[] args){
        SpringApplication.run(EurekaServer_7001.class,args);
    }
}

application.yml

server:
  port: 7001

spring:
  application:
    name: springcloud-config-eureka

eureka:
  instance:	#该名称是我设置的localhost的别名,有需要在C:\Windows\System32\drivers\etc\hosts 的最后一行添加127.0.0.1 eureka7001.com即可,与localhost等效
    hostname: eureka7001.com #Eureka服务端的实例名称
  client:
    register-with-eureka: false  #表示是否向eureka注册中心注册自己
    fetch-registry: false #如果为false,则表示自己为注册中心
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

在这里插入图片描述
自此eureka配置完成,可以进入http://localhost:7001查看
在这里插入图片描述


二.创建admin

创建maven项目
涂掉的是该文档中无用文件
pom配置

    <dependencies>
        <!--eureka-client,注册进入eureka后可以根据注册列表在admin中获取所有应用的数据-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--admin的服务端-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--admin-hystrix-dashboard,在admin中集成dashboard-->
        <!--如果仅需要在Admin 2.x中集成hystrix-dashboard,添加该配置即可-->
        <dependency>
            <groupId>nl.devillers</groupId>
            <artifactId>spring-boot-admin-hystrix-dashboard</artifactId>
            <version>1.0.2</version>
        </dependency>
    </dependencies>

启动项

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient  //整合eureka的方案自动发现所有的注册过的服务
@EnableAdminServer
public class ServerAdminApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServerAdminApplication.class, args);
    }


}

application.yml

server:
  port: 8830

#Eureka
eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/
  instance:
    instance-id: springcloud-admin-8830  #修改eureka上默认描述信息

spring:
  application:
    name: springcloud-admin

#info配置(这里不写也没事,相当于备注的作用)
info:
  app.name: wch-springcloud
  company.name: blog.wchstudy.com

运行之前配置的eureka发现admin已经注册进来了
在这里插入图片描述

自此Admin配置完成,可以进入http://localhost:8830查看,发现也根据eureka注册列表,获取到admin本身
在这里插入图片描述


三.创建一个应用测试

创建maven项目
在这里插入图片描述
pom配置

    <dependencies>
        <!--hystrix服务熔断-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--EUREKA依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--actuator完善监控信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

启动项

@SpringBootApplication
@EnableEurekaClient  //在启动后自动注册到eureka中
@EnableDiscoveryClient  //服务发现
@EnableCircuitBreaker //添加对熔断的支持
public class provider {
    public static void main(String[] args){
        SpringApplication.run(provider.class,args);
    }
}

application.yml

server:
  port: 8004

spring:
  application:
    name: springcloud-provider-test

#Eureka的配置(将服务注册到eureka中)
eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/
  instance:
    instance-id: springcloud-provider-test-8004  #修改eureka上默认描述信息

#info配置(这里不写也没事,相当于备注的作用)
info:
  app.name: wch-springcloud
  company.name: blog.wchstudy.com

#向admin展示详细信息
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: ALWAYS

controller

@RestController
@RequestMapping("/main")
public class testController {

    @GetMapping("/get")
    @HystrixCommand(fallbackMethod = "hystrixGet")
    public String get(){
        return "查询到了!查询到了!查询到了!";
    }

    //备选方案,这里必须添加,若没有hystrix机制,则无法触发hystrix-dashboard
    public String hystrixGet(){
        return "没有对应信息55555";
    }
}

结束!可以运行了!!!!!运行springcloud-test后,访问http://localhost:8004/main/get,即可触发hystrix-dashboard!


最终效果图

在这里插入图片描述
在这里插入图片描述


若有需要可以参考博主正在写的一个springcloud工程: springcloud脚手架 期待一个赞!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值