自定义 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 以前的部分作为指示器名

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
存储 弹性计算 运维
自定义问候语
【4月更文挑战第30天】
52 0
|
Unix 关系型数据库 程序员
自定义伟大👑
C语言作为一种经典而强大的编程语言,在计算机科学领域有着广泛的应用。它的简洁性、高效性以及跨平台特性使得C语言成为了开发系统级软件、嵌入式系统以及大规模应用程序的首选。本文将介绍C语言的起源和发展,分析其特点和优势,同时讨论一些常见的应用场景和实例
|
移动开发 前端开发 Java
自定义框架_最后处理 | 学习笔记
快速学习自定义框架_最后处理,介绍了自定义框架_最后处理系统机制, 以及在实际应用过程中如何使用。
自定义框架_最后处理 | 学习笔记
|
JavaScript 前端开发 搜索推荐
自定义页面的介绍|学习笔记
快速学习自定义页面的介绍
自定义页面的介绍|学习笔记
|
XML Java 数据格式
自定义框架配置解析 | 学习笔记
快速学习自定义框架配置解析,介绍了自定义框架配置解析系统机制, 以及在实际应用过程中如何使用。
自定义框架配置解析 | 学习笔记
|
开发者
自定义列表|学习笔记
快速学习自定义列表
自定义列表|学习笔记
|
监控 NoSQL Java
自定义 Hea1thIndicator |学习笔记
快速学习自定义 Hea1thIndicator
|
开发者 Python
自定义模块的使用|学习笔记
快速学习自定义模块的使用