SpringBoot实现监控Actuator,关闭redis监测
作者:zzzgd816 发布时间:2021-08-01 04:01:33
SpringBoot监控Actuator,关闭redis监测
方法
当我们导入了spring-boot-starter-actuator这个依赖后, SpringBoot会默认去监测一些信息。其中就包括redis、 会根据redis的默认初始配置, localhost:6379 尝试连接redis。如果我们没有用到redis, 启动就会报错
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
比如我在使用SpringBootAdmin的时候,其中内置了Actuator的依赖, 启动报错
[WARN ] 2020-05-28 09:28:17.179 [registrationTask1] de.codecentric.boot.admin.client.registration.ApplicationRegistrator - Failed to register application as Application(name=admin-client, managementUrl=http://Gordon-pc:8768/actuator, healthUrl=http://Gordon-pc:8768/actuator/health, serviceUrl=http://Gordon-pc:8768/) at spring-boot-admin ([http://localhost:8769/instances]): I/O error on POST request for "http://localhost:8769/instances": Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect. Further attempts are logged on DEBUG level
[WARN ] 2020-05-28 09:28:19.075 [boundedElastic-1] org.springframework.boot.actuate.redis.RedisReactiveHealthIndicator - Redis health check failed
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1200)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:1179)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getSharedReactiveConnection(LettuceConnectionFactory.java:952)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getReactiveConnection(LettuceConnectionFactory.java:429)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getReactiveConnection(LettuceConnectionFactory.java:94)
at reactor.core.publisher.MonoSupplier.call(MonoSupplier.java:85)
at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:225)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
at java.util.concurrent.FutureTask.run(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
at io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:234)
at io.lettuce.core.RedisClient.connect(RedisClient.java:207)
at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:115)
at java.util.Optional.orElseGet(Optional.java:267)
at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:115)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1198)
... 15 common frames omitted
在网上搜了下解决方法, 发现都是提供的这一种方式:
@Component("redisHealthIndicator")
public class RedisHealthIndicator implements HealthIndicator {
@Override
public Health health() {
return Health.up().build();
}
}
结果我在看配置文件的时候, 发现另一个简单的方式: application.yml中加上
management:
health:
redis:
enabled: false
就可以了~
springboot Actuator
通过Actuator可以深入的了解springboot应用程序的内部, 可以进行监控和度量一些配置信息。
这些特性可以通过rest端点、远程shell和jmx获得。
以下主要探讨rest端点的使用。
查看配置明细
1)/beans 上下文bean的情况
查看spring上下文中bean的情况, /beans会返回一个json文档,描述上下文里每个Bean的情况,类型、依赖注入
2)/autoconfig 自动配置情况
positiveMatches指定的自动配置表示匹配成功的bean
negativeMatches对应的自动配置表示匹配失败的bean
3)/env 查看配置属性
包括:环境变量、JVM属性、命令行参数,以及application.properties或application.yml文件提供的属性
运行时度量
对运行时度量情况作一个快照,以此检查应用程序的健康状况。
1)/metrics 应用程序的度量值
2)/trace 跟踪web请求的所有信息
包括请求方法、路径、时间戳,以及请求和响应的头信息。
3)/health 健康检查器
可以检查应用程序启动状况,以及相关依赖中间件的连接状态。
来源:https://zzzgd.blog.csdn.net/article/details/106398042


猜你喜欢
- 二分查找又称折半查找,它是一种效率较高的查找方法。折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以
- jax-ws handler 的详解及简单实例aop技术一般用于某个对象的函数调用的日志,认证等。webservice是远程的函
- 一、前言介绍本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状
- JAVA 静态代理模式代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。代理模式说白了就是“真实对象”的代表,在访问对象
- 本文实例讲述了java使用归并删除法删除二叉树中节点的方法。分享给大家供大家参考。具体分析如下:实现的思想很简单:first:找到要删除的节
- 前言OpenTelemetry作为一个分布式追踪的项目,他支持非常多的语言,如Java,Golang,Python等,鉴于笔者的主力语言为J
- 在做多语言版本的时候,日期时间的格式话是一个很头疼的事情,幸好Android提供了DateFormate,可以根据指定的语言区域的默认格式来
- 不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今天讲的是一个大
- Android onKeyDown监听返回键无效的解决办法当我们的Activity继承了TabActivity,在该类中重写on
- 最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑)、
- 我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了X
- Java异常层次结构Exception异常RuntimeException与非RuntimeException异常的区别:非RuntimeE
- 前言最近在做物联网课设,过程中需要用到Android的蓝牙API,奈何原生的蓝牙API使用有点麻烦。于是上网搜索看有没有好用的Android
- 利用Javaweb开发的一个校园服务系统,通过发布自己的任务并设置悬赏金额,有些类似于赏金猎人,在这里分享给大家,有需要可以联系我:2186
- 存首先初始化private SP sp;sp = new SP( context );存入数据第一个参数为上下文,第二个参数为key,第三个
- Java定义Long数据类型Long lg=10L;只需要在定义的的整型后面加个L;就和定义float数据类型一样Float ft=5.20
- 下面给大家介绍spring不能注入static变量的原因,具体详情如下所示:Spring 依赖注入 是依赖 set方法set方法是 是普通的
- 这个问题百度上一搜一大把,基本上都是说找到和SurfaceView的比例相近的camera预览尺寸,但是发现预览时候还是差了点意思,具体看下
- * 验证码地址:https://007.qq.com/online.html* 使用OpenCv模板匹配* 成功率90%左右* Java +
- JPA是什么? JPA(Java Persistence API)是Sun官方提出的Java持久化规范. 为Java开发人员提供了一种对象/