转载

Spring boot Admin 使用eureka监控服务

前言

最近刚好有空,来学习一下如何搭建spring boot admin环境。其中遇到很多的坑。

网上大多都是使用admin-url的方式直接来监控的,感觉一点也不灵活,这不是我想要的结果,所以本篇介绍借助eureka服务注册和发现功能来灵活监控程序。

本文主要记录spring boot admin的搭建过程,希望能有所帮助。其实非常的简单,不要被使用常规方式的误导!

环境介绍

IDE:intellij idea

jdk: java8

maven:3.3.9

spring boot:1.5.6

spring cloud:Edgware.BUILD-SNAPSHOT

搭建过程

1.对于之前的eureka-client服务我们不需要进行任何更改,保持原来的状态就行。

2.搭建spring boot admin服务(也是一个eureka服务)

3.测试结果

spring boot admin模块

这里一定要注意,到目前为止(2017年10月31日10点16分),我们不能对spring boot admin 使用 Edgware.BUILD-SNAPSHOT 版本的eureka,会报错,因为目前最新版的codecentric1.5.4版本不兼容的问题.

所以这里要对admin依赖的spring cloud版本降级,我使用的是 Dalton.SR4 版本。没有问题!

pom文件

<dependencies>
        <!--admin的服务-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server</artifactId>
            <version>1.5.4</version>
        </dependency>
        <!--admin的ui依赖-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
            <version>1.5.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

application

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class AdminServerApplication {

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

@EnableAdminServer 用来标记为admin应用的

其他的注解都和普通的eureka client 应用一致

yml文件

spring:
  application:
    name: admin-server
  boot:
    admin:
      routes:
        endpoints: env,metrics,trace,dump,jolokia,info,configprops,trace,logfile,refresh,flyway,liquibase,heapdump,hystrix.stream
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

#测试,不使用密码
management.security.enabled: false

server:
  port: 8089

结果展示

到此配置结束,我们依次启动 eureka server , admin server , eureka client``eureka client2 的应用

1.首先去eureka注册中心 http://localhost:8761/ 查看是否将所有的应用都已经注册

Spring boot Admin 使用eureka监控服务

我们的admin-server也是作为一个服务被注册进来,这样才能发挥eureka的服务发现功能

2.查看admin server中的监控ui http://localhost:8089

Spring boot Admin 使用eureka监控服务

到此我们的spring boot admin 就已经搭建完成!

总结

上述的端口服务名,根据大家各自的配置会有所不同,请注意

另外版本也是非常值得注意的.

还有就是大家使用的方法不同,所以配置也有所不同,大家一定要注意自己的实现方式.

源代码在 https://github.com/eumji025/spring-cloud-repository/tree/edgware

对应的module为:

1.spring-cloud-discovery-eureka-client

2.spring-cloud-discovery-eureka-client2

3.spring-cloud-discovery-eureka-server

4.spring-boot-admin-server

参考资料

spring boot admin文档 spring boot admin官方demo

与君共勉!!!

原文  http://blog.csdn.net/jsu_9207/article/details/78400758
正文到此结束
Loading...