Spring Boot Admin管理监控数据的方法

spring boot actuator 可以监控应用的各种信息, 唯一的缺点就是返回的监控信息是JSON格式的数据,还有一点就是在微服务架构下,服务的实例会很多,一个个去看监控信息这似乎有点不太可能,而且这么多地址信息也只能去Eureka中去找,有没有一个功能能够集中的管理Eureka中的服务信息,并且可以通过界面的方式查看actuator 提供的监控信息,它就是Spring Boot Admin。

Spring Boot  Admin简介

spring boot admin github开源地址:https://github.com/codecentric/spring-boot-admin

它主要的作用是在Spring Boot Actuator的基础上提供简洁的WEB UI展示。

首先还是创建一个admin的项目,添加需要的依赖信息:

<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-server</artifactId>
  <version>1.5.5</version>
</dependency>
<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-server-ui</artifactId>
  <version>1.5.5</version>
</dependency>
<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-server-ui-login</artifactId>
  <version>1.5.5</version>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

创建启动类

/**
 * 程序监控
 *
 * @author yinjihuan
 * @create 2017-11-28 15:26
 **/
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class AdminApplication {
  public static void main(String[] args) {
    SpringApplication.run(AdminApplication.class, args);
  }
}

配置Eureka的地址,需要去Eureka中获取注册的服务信息

spring.application.name=fangjia-boot-admin
server.port=9101
eureka.client.serviceUrl.defaultZone=http://goojia:goojia123456@master:8761/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ipAddress}:${server.port}
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}

启动项目,访问服务地址可以看到下面的页面
[图片上传失败...(image-737ba5-1513042852782)]

在这个页面可以看到所有注册的服务信息,以及服务的状态,点击详情可以看到具体的监控信息

[图片上传失败...(image-bbb4bd-1513042852782)]

第二个子菜单还可以看到日志信息,但是服务中必须要配置logging.file的地址,这样这边才能读取的日志内容

具体代码可以参考我的github: https://github.com/yinjihuan/spring-cloud

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。