自定义 Hea1thIndicator |学习笔记

简介: 快速学习自定义 Hea1thIndicator

开发者学堂课程【SpringBoot 快速掌握 - 高级应用:自定义 Hea1thIndicator】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/613/detail/9325


自定义Hea1thIndicator


内容介绍

一、定制端点信息

二、健康状态指示器


一、定制端点信息

1.health

在访问端点中,存在一个端点:health

(1)halth 的作用

进行应用中的组件健康检查

(2)health 的访问

//将端点更改为8181端口

localhost:8181//manage/health

//其为操作者返回当前应用每个组件的健康状态,但此处仅默认存在 diskSpace-即磁盘空间的默认状态。

{

status:"UP",

- diskSpace: {

status: "UP",

total: 126682750976,

free: 42200621056,

threshold: 10485760

}

}

2.spring-boot-actuator

另外,也可自行定制或使用 spring-boot 中现成完成配置的健康状态。

(1)包含内容

所有的端点配置信息都存在于 spring-boot-actuator 包之下,存在众多的健康状态组件,如:MongoHealthIndicator、RabbitHealthIndicator、RedisHealthIndicator

(2)生效

编写相应 start 后进行生效

(3)测试

//引入 Redis 的相关 start

//配置 Redis 连接信息

spring.redis.host=localhost  //本机未安装 redis,此时为错误配置

//启动引用

//检查健康信息,此时 redis 存在错误

{

status:"UP",

-diskSpace: {

status: "UP",

total: 126682750976,

free: 4220062 1056,

threshold: 10485760

}

}

- redis: {

status: "DOWN",  

error:" org. springf ramework.data redis. RedisConnect ionFailureException:Cannot get Jedis connecticn; nested exception is redis.clients.jedis.exceptions.JedisCormnectionException: Could not get aresource from the pool"

}

}

//将 redis 连接信息书写正确,即可使其正常运行

//将连接信息书写为已安装 redis 的远程主机地址

spring.redis.host=118.24.44.169

//进行重新启动

//若 redis 一切工作正常,代表着其健康状态同样正常

//进行刷新,此时 redis 为 UP 状态

{

status:"UP",

- diskSpace: {

status: "UP",

total: 126682750976,

free: 42164674560

threshold: 10485760

}

}

-redis: {

status: "UP",  

version “4.0.9”

}

}

//监控中存在 RedisHealthIndicator,检查获取 redis 是否能够连接


二、健康状态指示器

1.目的

在后续开发中存在众多服务组件,欲拥有对应的实时健康状态检查、访问health时能够反馈组件健康信息,则应进行自定义健康状态检查指示器

2.操作步骤

(1)大致方向

编写一个实现  HealthIndactor 接口的指示器

指示器名字:xxxHealthIndicator

例如:位于 RedisHealthIndicator 中,则其指示器名字应为 RedisHealthIndicator

加入容器中

(2)实际操作

编写指示器:healthMyAPPHealthIndactor

@Component

public calss healthMyAPPHealthIndactor implements Health {

@Override

public Health health(){

//自定义检查方法

return null;

}

}

//若检查结果为健康

return Health.up().build()

//若检查不健康

return Health.down().withDetail(“msg”,“服务异常”).build();

}

}

//进行服务的启动

//检查健康状况信息

//刷新

{

status:"DOWN",

-MyApp: {

status: "DOWN",

total:126682750976,

free:42080505856

threshold:10485760

}

}

-redis: {

status: "UP",  

version “4.0.9”

}

}

//此时以除  HealthIndactor 以前的部分作为指示器名

相关文章
|
存储 开发工具 异构计算
第三章 硬件描述语言verilog(二) 功能描述-组合逻辑(下)
第三章 硬件描述语言verilog(二) 功能描述-组合逻辑
1854 0
第三章 硬件描述语言verilog(二) 功能描述-组合逻辑(下)
|
3月前
|
云安全 人工智能 安全
|
存储 监控 Java
Java多线程优化:提高线程池性能的技巧与实践
Java多线程优化:提高线程池性能的技巧与实践
545 1
|
7月前
|
PyTorch API 算法框架/工具
DeepSeek 部署方式与技术实践
DeepSeek的部署灵活性使其在多个领域大放异彩,但需根据场景权衡性能、成本与安全性。随着工具生态的完善与行业方案的沉淀,2025年将成为AI大模型落地关键年。开发者应持续关注MoE、COT等技术创新,结合自身需求选择最优部署策略。
487 1
|
网络协议 数据库 网络架构
OSPF的邻居状态机详解
OSPF的邻居状态机详解
721 6
|
机器学习/深度学习 资源调度 算法
深度学习模型数值稳定性——梯度衰减和梯度爆炸的说明
深度学习模型数值稳定性——梯度衰减和梯度爆炸的说明
308 0
|
XML API Android开发
Android 自定义View 之 Dialog弹窗
Android 自定义View 之 Dialog弹窗
501 1
|
算法 C语言 Ruby
分形逃逸时间算法中的 Normalized Iteration Count(NIC)技术 让颜色更柔和
Normalized Iteration Count (NIC) 技术是一种提升逃逸时间算法中分形图像质量的方法,它产生更平滑的颜色过渡。数学公式表示为:`mu = n + 1 - log(log(|Z(n)|)) / log(p)`,其中 `Z(n)` 是迭代次数,`|Z(n)|` 是复数模长,`p` 通常取2。示例代码提供了 Ruby, Maxima 和 C 语言的实现。
|
域名解析 前端开发 Cloud Native
【阿里云开发】一键部署静态博客——Hexo
【阿里云开发】一键部署静态博客——Hexo
666 0
【阿里云开发】一键部署静态博客——Hexo