actuator+SpringBoot的基础应用
2025-03-03 18:47:02 0 举报
AI智能生成
actuator+SpringBoot的基础应用,包括server端实现、client端实现、自定义端点、info端点、health端点、metrics端点等
作者其他创作
大纲/内容
server端
引入spring-boot-admin-starter-server包和spring-boot-starter-security包
对接nacos,将服务注册到nacos
配置security(即admin console)的账号密码(裸奔比较危险)
实现SecuritySecureConfig,具体可以参考官网
client端
对接nacos,将服务注册到nacos
配置server的配置信息
配置暴露的端点
自定义端点
在类上加注解@Endpoint(id = "test")
在方法上,定义端点的操作类型注解
@ReadOperation
作用
定义一个只读操作(通常是查询或获取信息)。
对应 HTTP 的 GET 方法。
不会修改系统的状态,仅用于读取数据。
特点
幂等性 :多次调用不会对系统产生副作用。
安全性 :适合公开访问(例如监控或健康检查)。
返回值 :通常返回 JSON 格式的数据。
适用场景
查询系统状态(如健康检查、指标收集)。
获取配置信息或元数据。
提供只读的监控数据。
访问方式
GET http://localhost:8080/actuator/test
@WriteOperation
作用
定义一个写操作(通常是修改或更新系统状态)。
对应 HTTP 的 POST 或 PUT 方法。
可能会修改系统的状态。
特点
非幂等性 :多次调用可能会对系统产生不同的影响。
安全性 :需要谨慎控制访问权限,避免误操作。
参数支持 :可以接收请求参数(通过方法参数绑定)。
适用场景
修改系统配置。
触发某些后台任务(如清理缓存、重启服务)。
更新运行时状态。
访问方式
POST http://localhost:8080/actuator/test
@DeleteOperation
作用
定义一个删除操作(通常是移除资源或数据)。
对应 HTTP 的 DELETE 方法。
可能会修改系统的状态。
特点
非幂等性 :多次调用可能会对系统产生不同的影响(例如第一次删除成功,第二次可能报错)。
安全性 :需要严格控制访问权限,避免误删重要数据。
参数支持 :可以接收请求参数(通过方法参数绑定)。
适用场景
删除临时资源(如日志文件、缓存数据)。
清理不再需要的运行时数据。
移除特定的配置项。
访问方式
DELETE http://localhost:8080/actuator/test
如果需要多个Operation,需要在参数前,加注解@Selector,访问路径:http://localhost:8080/actuator/test/value,在这个请求中,端点方法的入参值为value
定制其他端点信息
info
本身就是预留给第三方输出自己的信息
实现InfoContributor接口,重写InfoContributor方法
health
本身由内部集成的组件提供,包括MySQL、redis、nacos等的健康状态(是否正常运行)
创建以HealthIndicator结尾的bean类,并继承AbstractHealthIndicator,重写doHealthCheck方法
metrics
各类监控系统的门面,通过一系列api以操作指标
提供cpu利用率、缓存、GC、jvm、线程、类加载器、kafka、logback、Tomcat等一大堆指标信息
本身已经通过springBoot-actuator集成了,因此不需要做开发
如果需要在上面基础上,再做自定义指标开发,那就要利用其提供的api来做操作了

收藏
0 条评论
下一页