springboot使用actuator


最近有点空闲,回头来处理一些没有的注释,然后,是不是换换脑子,给springboot加点东西。几天来说说开启监控acuator的问题。不废话,看招。
一、maven引入jar

<!-- actuator支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

这里之前引入过spring-boot-starter-web,所以就不重复写了
二、actuator配置

#actuator配置
#管理端口,不设置默认与server的端口一致
#management.port=54001
#jmx排除监控点
#management.endpoints.jmx.exposure.exclude=*
#jmx包含监控点
management.endpoints.jmx.exposure.include=*
#使用web端测试,配置监控点,exclude排除,include包含,配置*所有的意思,可单独配置health、info
#management.endpoints.web.exposure.exclude=*
management.endpoints.web.exposure.include=*
#actuator开关配置
#management.health.db.enabled=true
#management.health.mail.enabled=true
#management.health.security.enabled=true

三、可能回遇到的异常
No converter for [class org.springframework.boot.actuate.health.SystemHealth] with preset Content-Type ‘null’
这个意思就是缺少转换器,我这里的WebMvcConfigurer是实现的WebMvcConfigurationSupport。有博友说实现这个确实会有一些问题。我这里就是出现了这个问题,首先我是怀疑静态资源不能被访问导致,后来在addInterceptors里各种加,就是无效。后来想想,这前后端分离的,我这里就没有静态资源。然后想都我这里是用的fastjson做的HttpMessageConverter,有可能就是这里的问题。

 /**
 * 使用阿里 FastJson 作为JSON MessageConverter
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    FastJsonConfig config = new FastJsonConfig();

    config.setSerializerFeatures(
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.PrettyFormat,
            SerializerFeature.WriteNullStringAsEmpty,
            SerializerFeature.WriteNullListAsEmpty);
    converter.setFastJsonConfig(config);
    converter.setDefaultCharset(Charset.forName("UTF-8"));
    converter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
    converters.add(0, converter);
    //super.addDefaultHttpMessageConverters(converters);
}

原始我就是这样的,可能大家已经看到问题了。super.addDefaultHttpMessageConverters(converters);注释掉的,都没有把fastjson加到默认HttpMessageConverters里。
于是放开这一行,重新请求:http://localhost:8099/actuator/health,结果:
在这里插入图片描述
四、返回自定义结果
那就需要自己实现HealthIndicator 、InfoIndicator等相关监测器。
剩下的大家就自己发挥吧,是单独搭建一个服务定时请求、还是其他方式,都是ok的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥仔哥哥1930

来一波支持,吃不了亏上不了当

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值