Spring boot整合Spring boot Admin 监控应用

前言

本文仅仅是针对怎么搭建Spring Boot Admin的client端和server端。怎么配置实现服务client服务向server注册。使用security认证的server,由于暂时对security的不了解,所以使用的是百度的security配置,仅供参考。

我再这里将server端和client端独立部署,若想部署在同一个项目,也是可以的。如果你将单独部署弄懂后,合并成一个项目也是很简单的啦。


一、Spring Boot Admin 的作用是什么?

利用spring-boot-admin对SpringBoot应用程序信息进行可视化管理和监控。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册服务(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现服务。

Spring Boot Admin提供了如下功能:

  • 显示健康状态及详细信息,如JVM和内存指标、数据源指标、缓存指标
  • 跟踪并下载日志文件
  • 查看jvm系统-和环境属性
  • 查看Spring启动配置属性
  • 方便loglevel管理
  • 查看线程转储
  • 视图http-traces
  • 查看http端点
  • 查看计划任务
  • 查看和删除活动会话(使用spring-session)
  • 状态更改通知(通过电子邮件、Slack、Hipchat…)
  • 状态变化的事件日志(非持久性)

下面的项目都使用2.2.1版本,因为Spring Boot Admin 2.2.1版本支持中文。为了版本统一,我这里spring boot也是使用2.2.1版本

二、搭建client端

client是指我们需要监控的任务,所以这部分配置比较简单,不会对我们原有的业务代码有改变。我们只需要添加依赖和配置就好。
spring-boot-admin 的监控实际上还是使用的是actuator。所以我们还是需要配置actuator。

1.引入依赖

<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-client</artifactId>
	<version>2.2.1</version>
</dependency>

2.添加配置

#端口号
server.port=8888
#项目名,如果不设定,默认是 / ,在访问的时候需要拼接
server.servlet.context-path=/study

#actuator配置
#这里用*代表暴露所有端点只是为了观察效果,实际中按照需进行端点暴露
management.endpoints.web.exposure.include=*
#详细信息显示给所有用户。
management.endpoint.health.show-details=always
#额外信息配置
info.app.name="@project.name@"
info.app.description="@project.description@"
info.app.version="@project.version@"
info.app.spring-boot-version="@project.parent.version@"


#客户端工程的名字,这个名字会注册到服务端展示
spring.application.name=Spring Boot Client My Name
#是否启用springbootAdmin客户端,默认为true
spring.boot.admin.client.enabled=true
# 要注册的server端的url地址。如果要同时在多个server端口注册,则用逗号分隔各个server端的url地址;
spring.boot.admin.client.url=http://127.0.0.1:8889/study/server/
# 注册到service的url值,当server端与client端不在同一台服务器上的时候,要配置该属性的值。如果不配置的话,server端就会根据默认的命名规则来配置该值
spring.boot.admin.client.instance.service-url=http://127.0.0.1:8888/study/
# 如果server端需要进行认证时,该属性用于配置用户名。如果使用security认证的客户端,这个用户名称和密码必须要和server端security的一致,否则服务不能被server认证发现
spring.boot.admin.client.username=admin
# 如果server端需要进行认证时,该属性用于配置密码。如果使用security认证的客户端,这个用户名称和密码必须要和server端security的一致,否则服务不能被server认证发现
spring.boot.admin.client.password= 123456


三、搭建server端

1.引入依赖

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

<!-- Admin Server 端, 2.2.0以后支持中文界面-->
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-server</artifactId>
	<version>2.2.1</version>
</dependency>

2.添加配置

需要注意的点:
1、若配置了spring.boot.admin.context-path=server,那么访问的时候就需要在url后面带上。
2、在启动client和server端后。client端会根据配置的spring.boot.admin.client.url=http://127.0.0.1:8889/study/server/向服务端自动注册。如果你的client和server不在一台服务器上,就必须要在client端正确配置这地址。

# 端口号
server.port=8889
# 项目名,如果不设定,默认是 / ,在访问的时候需要拼接
server.servlet.context-path=/study

# server端的访问路径,默认是/。配置之后访问就需要变成:http://127.0.0.1:8889/study/server/
spring.boot.admin.context-path=server
# 更新client端状态的时间间隔,单位是毫秒,默认值是10秒钟
spring.boot.admin.monitor.period=10
# client端状态的生命周期,该生命周期内不会更新client状态。单位是毫秒,默认值是10秒钟
spring.boot.admin.monitor.status-lifetime=10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值