自定义 Hea1thIndicator |学习笔记

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习自定义 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(二) 功能描述-组合逻辑
1613 0
第三章 硬件描述语言verilog(二) 功能描述-组合逻辑(下)
|
前端开发 NoSQL 关系型数据库
Kong网关介绍以及在Docker上部署容器以及Dashboard
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能
2343 0
Kong网关介绍以及在Docker上部署容器以及Dashboard
|
关系型数据库 C++ 容器
Qt开发技术:QCharts(一)QCharts基本介绍以及图表框架详解
Qt开发技术:QCharts(一)QCharts基本介绍以及图表框架详解
Qt开发技术:QCharts(一)QCharts基本介绍以及图表框架详解
|
11月前
|
Arthas 监控 数据可视化
类似arthas的工具还有其他的吗?
类似arthas的工具还有其他的吗?
464 6
|
存储 监控 Java
Java多线程优化:提高线程池性能的技巧与实践
Java多线程优化:提高线程池性能的技巧与实践
435 1
|
11月前
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
8323 2
|
SQL 消息中间件 分布式数据库
Flink报错问题之flink 1.11指定rowtime字段报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
域名解析 前端开发 Cloud Native
【阿里云开发】一键部署静态博客——Hexo
【阿里云开发】一键部署静态博客——Hexo
618 0
【阿里云开发】一键部署静态博客——Hexo
|
SQL druid 关系型数据库
MySQL连接超时时间wait_timeout导致间歇性报错:communication link failure
MySQL连接超时时间wait_timeout导致间歇性报错:communication link failure
1458 1