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

       针对微服务的服务状态包括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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,054评论 6 342
  • 入门 介绍 Spring Boot Spring Boot 使您可以轻松地创建独立的、生产级的基于 Spring ...
    Hsinwong阅读 16,990评论 2 89
  • spring-boot-admin为我们基于spring-boot的基础数据安全端口提供了基础的可视化监控功能。还...
    Comcen阅读 13,542评论 8 22
  • 今天,我去我外公家去打扫卫生,可是我姐姐没有去,去的人有我、我妈妈、我爸爸、我姨、我姨夫和她的女儿,还有很多...
    小太阳教室杨怡炫阅读 2,425评论 0 0