帮助中心 > 新闻资讯 >进阶Spring Boot(三)---Spring Boot 监控中心

进阶Spring Boot(三)---Spring Boot 监控中心

发布时间:2019-01-15

       针对微服务的服务状态包括http请求资源、服务器内存变化(堆、内存、线程、日志管理等)、检测服务配置连接地址是否可用(模拟访问,懒加载情况下)、统计现在有多少个bean(是spring容器中的bean)、统计springmvc的@ResultMapping(统计http接口)。
       Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.缺点:没有可视化界面,主要返回json格式数据
       Admin-UI基于actuator实现能够返回界面展示监控信息。

Spring Boot 搭建Actuator

第一步,配置Actuator依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>


第二步,配置application.yml 文件

###通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
management:
  endpoints:
    web:
      exposure:
        include: "*"
spring:
  profiles:
    active: prod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test
    username: root
    password: root
crisp:
   name: crisp

启动项目就可以看到Actuator监控的数据

image.png

查看详细的地址 http://127.0.0.1:8080/actuator/beans

其他内置功能

HTTP方法 路径 描述 鉴权
GET /autoconfig 查看自动配置的使用情况 true
GET /configprops 查看配置属性,包括默认配置 true
GET /beans 查看bean及其关系列表 true
GET /dump 打印线程栈 true
GET /env 查看所有环境变量 true
GET /env/{name} 查看具体变量值 true
GET /health 显示应用程序运行状况信息 up表示成功 down失败 false
GET /info 查看应用信息 false
GET /mappings 查看所有url映射 true
GET /metrics 查看应用基本指标 true
GET /metrics/{name} 查看具体指标 true
POST /shutdown 关闭应用 true
GET /trace 查看基本追踪信息 true

Spring Boot 搭建Admin-UI

第一步,引入相关依赖

<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-server</artifactId>
   <version>2.0.0</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- Spring Boot Actuator对外暴露应用的监控信息,Jolokia提供使用HTTP接口获取JSON格式 的数据 -->
<dependency>
   <groupId>org.jolokia</groupId>
   <artifactId>jolokia-core</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
   <groupId>com.googlecode.json-simple</groupId>
   <artifactId>json-simple</artifactId>
   <version>1.1</version>
</dependency>

第二步,在入口程序中开启Admin-UI

@SpringBootApplication
@EnableAdminServer
public class AdminuiServerApplication {

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

第三步,配置application.yml 文件

spring:
  application:
    name: spring-boot-admin-server

第四步,启动项目,即可以看到Admin-UI的界面

image.png

第五步,新建项目设置为客户端,向Admin-UI 服务端注册,配置Admin-UI 客户端

<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-client</artifactId>
   <version>2.0.0</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
   <groupId>org.jolokia</groupId>
   <artifactId>jolokia-core</artifactId>
</dependency>
<dependency>
   <groupId>com.googlecode.json-simple</groupId>
   <artifactId>json-simple</artifactId>
   <version>1.1</version>
</dependency>

第六步,配置客户端application.yml 文件

##配置 client 注册到admin-ui
spring:
  boot:
    admin:
      client:
        url: http://localhost:8080


server:
  port: 8081

management:
  endpoints:
    web:
      exposure:
        include: "*"

先启动Server,再启动client项目,即可以看到效果

image.png

相关推荐