第十四篇:强大的 actuator 服务监控与管理

是为了简化 应用的创建、运行、调试、部署等一系列问题而诞生的产物,

是 项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 请求来监管、审计、收集应用的运行情况,针对微服务而言它是必不可少的一个环节...

Endpoints

的核心部分,它用来监视应用程序及交互, 中已经内置了非常多的,同时也允许我们自己扩展自己的端点

中的端点和之前的版本有较大不同,使用时需注意。另外端点的监控机制也有很大不同,启用了不代表可以直接访问,还需要将其暴露出来,传统的 管理已被标记为不推荐。

内置Endpoints

导入依赖

在 中添加 的依赖

注意事项

如果要访问 接口想获取 中的属性内容请记得添加如下内容

属性配置

在 文件中配置 的相关配置,其中 开头的属性,就是访问 端点中显示的相关内容,值得注意的是 中,默认只开放了 两个端点,剩余的需要自己通过配置 属性来加载(有 自然就有 ,不做详细概述了)。如果想单独操作某个端点可以使用 属性进行启用或禁用

简单测试

启动项目,访问 http://localhost:8080/actuator/info 看到如下内容代表配置成功

自定义 - 重点

上面讲了很多都是配置相关,以及自带的一些端点,在实际应用中有时候默认并不能满足我们的要求,比如 默认的健康端点就很有可能不能满足

默认装配 HealthIndicators

下列是依赖 后相关 的实现(通过 属性可以禁用它们),但想要获取一些额外的信息时,自定义的作用就体现出来了...

健康端点(第一种方式)

实现 接口,根据自己的需要判断返回的状态是 还是 ,功能简单。

简单测试

启动项目,访问 http://localhost:8080/actuator/health 看到如下内容代表配置成功

健康端点(第二种方式)

继承 抽象类,重写 方法,功能比第一种要强大一点点,默认的都是这种写法,内容回调中还做了异常的处理。

简单测试

启动项目,访问 http://localhost:8080/actuator/health 看到如下内容代表配置成功

定义自己的端点

上面介绍的都是 内置的,真正要实现自己的端点还得通过 。

注解介绍

不同请求的操作,调用时缺少必需参数,或者使用无法转换为所需类型的参数,则不会调用操作方法,响应状态将为400(错误请求)

构建 rest api 的唯一路径

GET请求,响应状态为 200 如果没有返回值响应 404(资源未找到)

POST请求,响应状态为 200 如果没有返回值响应 204(无响应内容)

DELETE请求,响应状态为 200 如果没有返回值响应 204(无响应内容)

以为这就大功告成了吗,现实告诉我的是 默认是不认识这玩意的,得申明成一个 (请看)

主函数

测试

完成准备事项后,启动 访问 http://localhost:8080/actuator/battcn 看到如下内容代表配置成功...

总结

参考文档:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready

目前很多大佬都写过关于的教程了,如有雷同,请多多包涵,本教程基于最新的 编写,包括新版本的特性都会一起介绍...

说点什么

个人QQ:1837307557

battcn开源群(适合新手):391619659

微信公众号(欢迎调戏):

全文代码:https://github.com/battcn/spring-boot2-learning/tree/master/chapter13

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180525G08FJB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券