SpringBoot
【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
SpringBoot 开发实用篇
文章目录
- SpringBoot
- SpringBoot 开发实用篇
- 6 监控
- 6.2 SpringBoot Admin
- 6.2.1 可视化监控平台
- 6.2.2 SpringBoot Admin 的使用
- 6.2.3 小结
6 监控
6.2 SpringBoot Admin
6.2.1 可视化监控平台
Spring Boot Admin,开源社区项目,用于管理和监控SpringBoot应用程序。
客户端注册到服务端后,通过HTTP请求方式,服务端定期从客户端获取对应的信息,并通过UI界面展示对应信息。
GitHub 项目地址:https://github.com/codecentric/spring-boot-admin
这个并不是spring 官方开发的【SpringBoot 用什么版本,这个就用什么版本】
6.2.2 SpringBoot Admin 的使用
创建一个新的模块工程
下一步
咱们可以勾选
直接创建
上来直接先改成2.7.4
OK, 一个全新的SpringBoot 工程
可以看到这玩意儿确实不是spring 官方维护的
配成一个web 服务
配置应用端口
server:
port: 8080
啊这
修改启动类
package com.dingjiaxiong;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableAdminServer
public class Springboot25AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot25AdminServerApplication.class, args);
}
}
OK, 直接启动服务器
启动成功
浏览器访问
我超,妙啊,因为现在还没有应用,所以啥也没有
快速创建一个被监控的应用
再新建一个全新的模块工程
依赖勾选ops
直接创建!还是上来直接改成2.7.4
OK, 又是一个全新的SpringBoot 工程
这个工程跑起来要想被监控,还记得吧,第一节讲的,咱们得先告诉它我想被监控
配置
spring:
boot:
admin:
client:
url: http://localhost:8080
还得把它做成一个web 程序才能持续运行
加上web 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
还得改一下端口,不然默认8080 就撞了
OK, 直接启动应用
现在就有两个web 程序在跑了
看看监控
效果很明显,这边多了一个了
看看应用墙
这个就在告诉我们现在启动了一个SpringBoot 的应用程序实例
而且启动一分钟了
点进去
这儿就列出来所有的监控数据了
好像啥也没有,这是因为一个应用的信息 默认是不给看的,只有主动设定上,我给你看什么才能监控到
所以还要配置哪些东西可以被监控服务器看到,比如说健康信息
management:
endpoint:
# 健康指标的所有明细给不给看【默认是never】
health:
show-details: always
重新启动这个应用
再次查看面板
磁盘空间信息
这个样子就说明这个应用是健康的…
看看应用墙
之所以它绿,就是因为
这些东西都是up
把所有的信息都配置
endpoints:
web:
exposure:
include: "*"
再次重启
之前没配置的时候就只有一个health
查看面板
哇哦
这个数字就代表着现在已经读取了 7768 个类了
还有很多东西都可以选择查看
看看环境
厉害厉害
现在只有一个程序,现在再来加一个【就我们之前做的 08 ssmp 的整合】
简单配置一下
添加坐标:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.7.4</version>
</dependency>
配置直接复制过去
spring:
boot:
admin:
client:
url: http://localhost:8080
datasource:
druid:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: 200039
server:
port: 81
management:
endpoint:
# 健康指标的所有明细给不给看【默认是never】
health:
show-details: always
endpoints:
web:
exposure:
include: "*"
mybatis-plus:
global-config:
db-config:
table-prefix: tbl_
id-type: auto
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
记得改下端口,不然又撞了,直接启动
OK,跑起来了
查看面板
哇哦
这样就有两个应用都在被监控了
数据库信息
还可以监控请求
先把那个整合案例用浏览器访问
刷新几次
查看面板
那边点一下编辑
再次查看这个url
意思就是咱们执行过的所有请求都能在这里做配置
把这个请求添加
count = 1 意思就是这个操作执行过1 次,就我们点击了编辑它查那一次
意思就是我们刷新了5 次,执行了5次分页查询
【每个请求运行过多少次都能监控】
还有特多的信息可以看【牛逼!!!!!!!】
回顾一下
- Admin服务端
- Admin客户端
简化:
6.2.3 小结
- 可视化监控平台——Spring Boot Admin
- 配置通过web端读取监控信息
【问题就来了,对服务器来说,这些信息它是咋获取的?】