SpringBoot SpringBoot 开发实用篇 6 监控 6.5 health 端点指标控制

news/2024/5/9 7:36:52/文章来源:https://blog.csdn.net/weixin_44226181/article/details/128011606

SpringBoot

【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】

SpringBoot 开发实用篇

文章目录

      • SpringBoot
      • SpringBoot 开发实用篇
      • 6 监控
        • 6.5 health 端点指标控制
          • 6.5.1 问题引入
          • 6.5.2 health 端点指标控制
          • 6.5.3 小结

6 监控

6.5 health 端点指标控制

6.5.1 问题引入

之前我们通过配置文件以及配置类完成了info 端点的信息自定义设置

在这里插入图片描述

问题来了,那旁边的健康指标可以自定义吗?

在这里插入图片描述

6.5.2 health 端点指标控制

试试看能不能控制health 端点

在这里插入图片描述

直接重新启动服务器

查看面板

在这里插入图片描述

可以看到,其实没有任何变化

health 代表的是一个应用中的状态信息

类似上面的图中,db:数据库信息、diskSpace:磁盘信息、ping:能不能ping 通

给它加一个小技术

在这里插入图片描述

再次重启服务器,重新查看面板

在这里插入图片描述

上来了【如果我把redis 服务直接停掉】

在这里插入图片描述

重启应用

在这里插入图片描述

可以看到,效果很明显,服务直接down 掉了

而且这些错误信息和控制台输出的信息是一致的

在这里插入图片描述

在这里插入图片描述

一个down,直接导致我们的整个应用都down 掉了

再把redis 开启

在这里插入图片描述

刷新面板

在这里插入图片描述

不用重启,应用自动连接上去了

【自定义健康指标】

package com.dingjiaxiong.actuator;import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;/*** ClassName: HealthConfig* date: 2022/10/24 9:26** @author DingJiaxiong*/@Component
public class HealthConfig extends AbstractHealthIndicator {@Overrideprotected void doHealthCheck(Health.Builder builder) throws Exception {builder.withDetail("runTime",System.currentTimeMillis());Map infoMap = new HashMap();infoMap.put("buildTime","2022");builder.withDetails(infoMap);}
}

重启应用,查看面板

在这里插入图片描述

可以看到信息,确实上去了,这个状态自己能设定吗【答案是当然的】

在这里插入图片描述

再次重启服务,查看面板

在这里插入图片描述

这样就up 了

这样的话我们就可以很容易加上一个条件判断

package com.dingjiaxiong.actuator;import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;/*** ClassName: HealthConfig* date: 2022/10/24 9:26** @author DingJiaxiong*/@Component
public class HealthConfig extends AbstractHealthIndicator {@Overrideprotected void doHealthCheck(Health.Builder builder) throws Exception {boolean condition = false;if (condition){builder.withDetail("runTime",System.currentTimeMillis());Map infoMap = new HashMap();infoMap.put("buildTime","2022");builder.withDetails(infoMap);builder.up();}else{builder.withDetail("上线了吗?","没有");builder.down();}}
}

重启应用,查看面板

在这里插入图片描述

当然直接调用up() 和down 方法不太规范,标准的写法应该是下面这样

在这里插入图片描述

关键健康指标的简单介绍差不多就是这样 了

回顾一下

为Health端点添加自定义指标

在这里插入图片描述

6.5.3 小结
  1. 自定义Health端点信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_224891.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

还有人以为高并发=多线程吗?跟着大佬带你了解二者关系与区别,面试难题轻松拿下!

高并发和多线程的关系 “高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则高并发≠多线程 多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现。 高并发是一种系统运…

Android 10.0 11.0 12.0 启动模拟器教程

Android 10.0 11.0 12.0 启动模拟器教程 一、android 12.0 模拟器二、创建模拟器设备三、创建删除路经文件夹avd和配置环境变量四、启动模拟器一、android 12.0 模拟器 Android 10.0 11.0 12.0 启动模拟器都行,我选择android 12.0 模拟器 二、创建模拟器设备 第一步骤:在 …

推荐一个基于Springboot + Vue 开发的前后端分离博客

基于Springboot Vue 开发的前后端分离博客 博客介绍 本博客是参考 [风丶宇] 大佬的博客更新而成,感谢大佬提供的页面,然后定制新增部分功能,是个非常值得新手入门学习的Java规范化编程案例! 在线地址 项目链接: h…

JVM 中类加载的链接与初始化

类加载系统,主要有以下部分 加载链接 验证准备解析初始化 它们每部分都做些什么事情呢? 加载 (2条消息) JVM 双亲委派模型_兜兜转转m的博客-CSDN博客 链接 链接-验证 一般验证部分,IDEA已经帮我们规范了。 验证是连接阶段的第一步&…

数据结构和常用排序算法复杂度

1.顺序表 插入操作时间复杂度 最好O(1),最坏O(n),平均O(n) 移动结点的平均次数n/2 删除操作时间复杂度 最好O(1),最坏O(n),平均O(n) 移动结点的平均次数(n-1)/2 按值查找时间复杂度 最好O(1),最坏O(n),平…

JVM垃圾回收——CMS垃圾收集器

目录 一、什么是CMS垃圾收集器 二、CMS垃圾收集的过程 三、CMS收集器的不足 四、CMS收集器的参数配置 一、什么是CMS垃圾收集器 虽然HotSpot虚拟机已经在jdk14中移除了CMS垃圾收集的参数,但是考虑到还有很多开发是基于jdk8开发的,所以还是有必要了解…

数据结构-难点突破(C++实现并查集+路径优化,详解哈夫曼编码树)

文章目录1. 并查集2. 哈夫曼编码树1. 并查集 并查集是一个多棵树的集合(森林)。 并查集由多个集合构成,每一个集合就是一颗树。 并:合并多个集合。查:判断两个值是否再一个集合中。 每棵树存在数组中,使…

集世界杯+GameFi元素的MetaElfLand,为何将在世界杯期间爆发?

又到了四年一度的球迷狂欢节,本次卡塔尔世界杯已于11月21号举行。 每当世界杯来临,与世界杯相关产业都会迎来一波爆发,毕竟这个千亿美金市值的市场暗藏着无数的机会。而自GameFi的火热开始,世界杯也成为了加密投资者的狂欢日&…

pytorch的buffer学习整理

pytorch模型中的buffer 这段时间忙于做项目,但是在项目中一直在模型构建中遇到buffer数据,所以花点时间整理下模型中的parameter和buffer数据的区别💕 1.torch.nn.Module.named_buffers(prefix‘‘, recurseTrue) 贴上pytorch官网对其的说…

分布式文件系统HDFS实践及原理详解part3

HDFS原理 说明:3.5开头目录是因为和上篇文章内容同属一章,所以开头使用了3.5 3.5 HDFS核心设计 3.5.1 心跳机制 1、 Hadoop 是 Master/Slave 结构,Master 中有 NameNode 和 ResourceManager,Slave 中有 Datanode 和 NodeManag…

异构网络小入

A Survey of Heterogeneous Information Network Analysis Heterogeneous Graph Attention Network 异构网络很火吗? 在一个网络中,不用节点的类型不同,这是肯定的。 所以,异构网络在表征比较复杂的情形时,是比较合适…

基于图像识别的小车智能寻迹控制系统

目录 摘要…… I Abstract II 基于图像识别的智能寻迹控制系统设计 I Design of Intelligent tracking Control system based on Image recognition II 目录 III 第1章 绪论 1 1.1 课题背景 1 1.1 国内外文献综述 1 1.2 论文研究内容 2 第2章 基于图像识别的智能寻迹控制系统方…

【安装Ubuntu18.04遇到的问题】未找到WIFI适配器

大家好,我是小政。好久没有更新文章,近期开始陆续分享一些研究生阶段正在学习的知识和遇到的一些问题。 联想拯救者Y9000P关于安装Ubuntu未找到WIFI适配器的解决方法1.Ubuntu18.042.网卡信息3.解决方法(1)用手机USB连接电脑提供网…

动态规划--树型dp

6个题1. 树的最长路径2.树的中点.由于第三题需要用到一些数学地知识,所以先去补一补数学知识。连接链接在这里4.二叉苹果树5.战略游戏6.皇宫守卫1. 树的最长路径 定义:树中两个点直接的最远距离称为树的直径 先说一个结论 先任意找到一个树中一个点u&am…

分布式协调系统ZooKeeper实践与原理剖析

基础的一些知识,高阶知识后续看看补充 第一章 ZooKeeper概述 1.1 介绍 What is ZooKeeper? Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination ZooKeeper is…

大学生静态HTML网页设计--公司官网首页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#xf…

SpringIoc依赖查找-5

1. 依赖查找的今世前生: Spring IoC容器从Java标准中学到了什么? 单一类型依赖查找 JNDI - javax.naming.Context#lookup(javax.naming.Name) JavaBeans - java.beans.beancontext.BeanContext 集合类型依赖查找 java.beans.beancontext.BeanContext 集合查找方法 层…

sqli-labs/Less-51

这一关的欢迎界面依然是以sort作为注入点 我们首先来判断一下是否为数字型注入 输入如下 sortrand() 对尝试几次 发现页面并没有发生变化 说明这道题的注入类型属于字符型 然后尝试输入以下内容 sort1 报错了 报错信息如下 我们从报错信息可以知道这道题的注入类型属于单…

期末前端web大作业——HTML+CSS+JavaScript仿京东购物商城网页制作(7页)

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

#边学边考 必修5 高项:对人管理 第2章 项目沟通管理和干系人管理

答题报告 自我分析 有可能是间隔时间太长,本章节从开始学习到今天(11.24)学完,中间至少停止了1周以上,造成对基本知识记忆不牢固。对重点知识没有重点记忆,走马观花,以至于混淆。 答题解析 关…