SpringBoot Admin 如何实现Actuator端点可视化监控
作者:Heartsuit 发布时间:2022-12-09 01:40:51
SpringBoot Admin 实现Actuator端点可视化监控
简介
Actuator可视化监控SpringBoot Admin
Note:
SpringBoot版本: 2.1.4
SpringBoot Admin版本: 2.1.5
Spring Boot Admin Server
单独建一个Spring Boot Admin Server工程作为服务端
在Maven的pom.xml文件中添加 spring-boot-admin-server 与 spring-boot-admin-server-ui 依赖:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>2.1.5</version>
</dependency>
在主类上添加注解启用Spring Boot Admin
@EnableAdminServer
@SpringBootApplication
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}
到此, Spring Boot Admin服务端工程建立完毕, 在浏览器访问 http://localhost:8000 , 打开管理页面, 目前没有客户端实例注册过来, 显示为空。 接下来建立客户端工程。
Spring Boot Admin Client
建一个Spring Boot工程
在Maven的pom.xml文件中添加 spring-boot-admin-starter-client 依赖:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.5</version>
</dependency>
application.yml 配置: 1. 暴露指定端口; 2. 注册到Spring Boot Admin服务端
management:
endpoints:
web:
exposure:
include: "*"
exclude: env,beans
spring:
boot:
admin:
client:
url: http://localhost:8000
instance:
name: ReactiveCrud
Note: 当然这里首先要开启项目的Actuator端点监控功能, 可参考SpringBoot2开启Actuator端点监控
启动客户端, 在管理端进行可视化端点监控
Journal
启动客户端后, 会在 Journal 页面看到客户端注册到管理端发生的各类事件;
上面通过 Spring Boot Admin 实现了对Spring Boot暴露的 Actuator 端点的可视化监控, 对于详细的端点信息, 以及 Spring Boot Admin 的其他配置, 可参考相关文档。 后续增加认证功能, 即需要用户登录才能进入管理端。
References
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
http://codecentric.github.io/spring-boot-admin/2.1.4/#securing-spring-boot-admin
Spring Boot 监控信息可视化
使用spring-boot-starter-actuator监控太过于麻烦,而且通过返回的JSON数据查看起来非常不方便,使用Spring Boot 中提供的监控信息管理端,用来实现监控信息的可视化,可以快速查看系统运行状况,再不用一个一个接口地调用接口。
具体配置:
一、设置Spring Boot Admin Server
1.添加依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.2.0</version>
</dependency>
2.在启动类上添加@EnableAdminServer注解
@SpringBootApplication
@EnableAdminServer
public class SpadminApplication {
public static void main(String[] args) {
SpringApplication.run(SpadminApplication.class, args);
}
}
3.启动醒目浏览器 输入http://localhost:8888/applications
二、注册客户端
1.新建一个项目
2.添加依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.2.0</version>
</dependency>
3.在application.properties添加配置
server.port=8889
spring.boot.admin.client.url=http://localhost:8888
management.endpoints.web.exposure.include=*
4.启动项目(server端先运行)
浏览器http://localhost:8888/ 等待片刻后
点击进入
来源:https://heartsuit.blog.csdn.net/article/details/93892607
猜你喜欢
- 1.什么是Ribbon目前主流的负载均衡方案分为以下两种:(1)集中式负载均衡:在消费者和服务提供者中间使用独立的代理方式进行负载,有硬件的
- 目录1.概览2.自定义枚举方法3.使用 == 比较枚举类型4.在 switch 语句中使用枚举类型5.枚举类型的属性,方法和构造函数6.En
- 背景介绍公司最近做分库分表业务,接入了 Sharding JDBC,接入完成后,回归测试时发现好几个 SQL 执行报错,关键这几个表都还不是
- Mybatis简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software
- 前言JDK 1.5 之前 synchronized 的性能是比较低的,但在 JDK 1.5 中,官方推出一个重量级功能 Lock,一举改变了
- private void button1_Click(object sender, EventArgs e) &nbs
- 一.解析概念StringUtils概念StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提
- 本文实例为大家分享了java GUI学生图书管理的具体代码,供大家参考,具体内容如下- mysql数据库建表:1.book表 2.bs借书记
- 小程序获取手机号,后端JAVA解密流程代码微信官方文档获取手机号流程地址,先看下最好方便理解下面步骤实现思路,步骤如下1.前端需先调用官方w
- SpringBoot使用过滤器、 * 和 * 一、SpringBoot使用过滤器Spring boot过滤器的使用(两种方式)使用sprin
- 本文实例为大家分享了Unity实现攻击范围检测并绘制检测区域的具体代码,供大家参考,具体内容如下一、圆形检测using System.Col
- IDEA安装阿里巴巴编码规范插件的两种方式:在线安装和离线安装。1.在线安装:打开file-settings-Plugins.如图:搜索到点
- 介绍INI文件格式由节、键、值组成。节[section]参数(键=值)name=value1.创建一个ini文件在Debug目录下创建一个i
- 1、抽象类1.1 什么是抽象类?1.1.1 对抽象类的理解1.1.2 关于抽象类类与类之间具有共同特征,将这些共同特征提取出来,形成的就是抽
- 这篇文章主要介绍了Java方法参数传递机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象。为减轻数据库压力,我上个月对公司项目做了下调整。把新闻板块提取出来单独一
- macOS搭建Spring Boot开发环境,具体内容如下软硬件环境macOS Sierrajava 1.8.0_65maven 3.5.0
- 最近一直想写一个类似于待办的东西,由于不想用传统的session,就卡住了,后来在各种群里扯皮,发现除了用缓存之外,还可以通过 JWT 来实
- 基本流foreach 实现了外部迭代,它是建立于集合的基础上;stream 流实现的是内部迭代中间操作与终端操作对任意集合使用 stream
- 使用RateLimiter通过AOP方式进行限流1、引入依赖<!-- guava 限流 --><dependency>