问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springboot2访问监控(springboot监控)

发布网友 发布时间:2024-09-29 09:49

我来回答

1个回答

热心网友 时间:2024-11-19 01:50

怎么给springboot接入cat监控

首先我们需要找到Tomcat目录下面的Conf文件夹。找到server.xml文件,将其打开。找到这句话只需要将这个8080修改为80即可修改成功后,重新启动服务器。看看,只需要输入localhost即可访问Tomcat主页了。

Springboot——*

*(Listener)是servlet规范中定义的一种特殊类。用于监听servletContext、HttpSession和servletRequest等域对象的创建和销毁事件;监听域对象的属性发生修改的事件;用于在事件发生前后做一些必要的处理。

其主要可用于以下方面:

1、统计在线人数和在线用户

2、系统启动时加载初始化信息

3、统计网站访问量

4、记录用户访问路径。

Servlet中的*的分类:

(1)监听三个域对象的创建和销毁的*

(2)监听三个域对象的属性变更(属性添加、移除、替换)的*

(3)监听HttpSession中JavaBean的状态改变(钝化、活化、绑定、解除绑定)的监听

*相关术语:

事件源:被监听者

*:监听者

事件源和*绑定:在事件源上安装*

事件:指的是事件源对象的改变——主要功能获得事件源对象。

统计在线人数

方式1、使用自带的ServletListenerRegistrationBean完成设置

(1)首先创建一个MyHttpSessionListener类

(2)使用@Configuration注解替代web.xml对*进行配置

(3)创建一个控制器UserController

方式2、使用@WebListener注解完成设置

(1)创建一个MyHttpSessionListener类

(2)在入口类(Listenerdemo2Application)中加入@ServletComponentScan注解,开启对注解@WebListener的支持

(3)创建一个控制器UserController(同方式1)

!注:(1)使用@ServletComponentScan配合@WebListener后,就不用创建MyMvcConfig这个类。二者选其一即可。

(2)springboot默认会检索启动类所在包和子包下的所有spring容器相关的注解(比如@Controller、@Component等),但是像@WebFilter和@WebListener之类的不会。

关于spring-boot-actuator的httptrace端点不生效问题解决办法

通过使用spring-boot-actuator的httptrace监控端点来监控http请求响应情况,但是我使用过程中发现访问该端点出现404的情况

GET/actuator/httptrace

经过一番查询,发现spring-boot2.2以上版本默认不启用HttpTraceRepository,需要使用者在工程中显示声明才可以正常使用,而我用的是spring-boot2.5.4版本,所以得修改配置才行

这是官方说明:

解决办法:修改spring-boot工程,增加HttpTraceRepository类型的bean声明

此时再启动工程访问httptrace端点,发现已经可以正常访问了

示例工程:

需要说明的是,spring官方建议在开发环境下才可以使用InMemoryHttpTraceRepository来存储信息,在生产环境下建议使用成熟的链路追踪方案如Zipkin/SpringCloudSleuth等,或者创建自己的HttpTraceRepository实现来满足需要~

SpringBoot2对接prometheus

该监控特点:

prometheus

Kibana

范围监控数据接口:,结果如下:

Springboot2.0Actuator的健康检查

在当下流行的ServiceMesh架构中,由于Springboot框架的种种优点,它特别适合作为其中的应用开发框架。

说到ServiceMesh的微服务架构,主要特点是将服务开发和服务治理分离开来,然后再结合容器化的Paas平台,将它们融合起来,这依赖的都是互相之间默契的配合。也就是说各自都暴露出标准的接口,可以通过这些接口互相交织在一起。

ServiceMesh的架构设计中的要点之一,就是全方位的监控,因此一般我们选用的服务开发框架都需要有方便又强大的监控功能支持。在Springboot应用中开启监控特别方便,监控面也很广,还支持灵活定制。

在Springboot应用中,要实现可监控的功能,依赖的是spring-boot-starter-actuator这个组件。它提供了很多监控和管理你的springboot应用的HTTP或者JMX端点,并且你可以有选择地开启和关闭部分功能。当你的springboot应用中引入下面的依赖之后,将自动的拥有审计、健康检查、Metrics监控功能。

具体的使用方法:

“*”号代表启用所有的监控端点,可以单独启用,例如,health,info,metrics等。

一般的监控管理端点的配置信息,如下:

上述配置信息仅供参考,具体须参照官方文档,由于springboot的版本更新比较快,配置方式可能有变化。

今天重点说一下Actuator监控管理中的健康检查功能,随时能掌握线上应用的健康状况是非常重要的,尤其是现在流行的容器云平台下的应用,它们的自动恢复和扩容都依赖健康检查功能。

当我们开启health的健康端点时,我们能够查到应用健康信息是一个汇总的信息,访问时,我们获取到的信息是{"status":"UP"},status的值还有可能是DOWN。

要想查看详细的应用健康信息需要配置management.endpoint.health.show-details的值为always,配置之后我们再次访问,获取的信息如下:

从上面的应用的详细健康信息发现,健康信息包含磁盘空间、redis、DB,启用监控的这个springboot应用确实是连接了redis和oracleDB,actuator就自动给监控起来了,确实是很方便、很有用。

经过测试发现,details中所有的监控项中的任何一个健康状态是DOWN,整体应用的健康状态也是DOWN。

Springboot的健康信息都是从ApplicationContext中的各种HealthIndicator

Beans中收集到的,Springboot框架中包含了大量的HealthIndicators的实现类,当然你也可以实现自己认为的健康状态。

默认情况下,最终的springboot应用的状态是由HealthAggregator汇总而成的,汇总的算法是:

Springboot框架自带的HealthIndicators目前包括:

有时候需要提供自定义的健康状态检查信息,你可以通过实现HealthIndicator的接口来实现,并将该实现类注册为springbean。你需要实现其中的health()方法,并返回自定义的健康状态响应信息,该响应信息应该包括一个状态码和要展示详细信息。例如,下面就是一个接口HealthIndicator的实现类:

另外,除了Springboot定义的几个状态类型,我们也可以自定义状态类型,用来表示一个新的系统状态。在这种情况下,你还需要实现接口HealthAggregator,或者通过配置management.health.status.order来继续使用HealthAggregator的默认实现。

例如,在你自定义的健康检查HealthIndicator的实现类中,使用了自定义的状态类型FATAL,为了配置该状态类型的严重程度,你需要在application的配置文件中添加如下配置:

在做健康检查时,响应中的HTTP状态码反应了整体的健康状态,(例如,UP对应200,而OUT_OF_SERVICE和DOWN对应503)。同样,你也需要为自定义的状态类型设置对应的HTTP状态码,例如,下面的配置可以将FATAL映射为503(服务不可用):

下面是内置健康状态类型对应的HTTP状态码列表:

本文主要介绍了Springboot中提供的应用健康检查功能的使用方法和原理,顺带介绍了一点Actuator的内容。主要的内容来自springboot2.0.1的官方文档和源码,还有一些自己的想法,希望多多支持。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 v1816a是什么型号 - 知百科 淘宝闲鱼退货退回去卖家已经签收有说手机有问题不同意退款怎么办_百 ... 在闲鱼买了手机发现假货退了, 今天卖家签收了,却不退款 ,说手机划了... 四十岁女人怎么称呼? 出国旅游零吃带上飞机吗? 我买的是066(组选),开奖号码为636,算中奖吗? 做小吊梨汤有哪些注意事项? 灵通山悬空寺要走很多路吗,灵通山景区酒店 芒果怎么解绑第三方账号 漳州灵通山好玩吗 漳州灵通山值得去吗 2022年二级建造师合格分数线预测 如何在iPhone上下载49图库app 怎样在App Store中下载“49图库”应用? 饼干能带上飞机吗 如何下载安装苹果手机的49tk图库? 去泰国旅游可以带斗鸡回来 ...准备去泰国旅游时随便买斗鸡蛋回来,不知是否可以。 新一代Linux操作系统CentOS7与MySQL强强联合cenos7mysql 怎样才能在苹果手机上下载安装49图库绿色版? 自制曲奇饼干的过程中有哪些需要注意的地方? python下载安装手机版(python下载手机版最新) 如何在App Store上下载安装绿色图像应用? python安装及环境配置? 怎么下载苹果手机图库? 剑网3问题,请老玩家回答。 剑网三一些相关疑问~~老手指导一下~!!谢谢了! 剑网3提问 剑网3的乐趣在哪里啊 万年青开花代表什么好兆头 万年青开花预兆什么意思呢 万年青开花是什么预兆 怎么在苹果手机里下载并安装49图库绿色版? 苹果手机怎么下载49图库绿色版? 百度搜歌词找歌 银行办白金卡什么条件 什么银行白金卡条件 修村公路山林挖超过多,离我家老坟很近,用迷信来说导到家人死亡,修路老 ... 组里的集体山林补助不分发给村民算违法吗?而且是个人一直管这个钱! 家里土地被别人私自修路占用了该怎么处理 多少分能被重庆城市职业学院录取