专栏首页CodeSheep的技术分享SpringBoot应用监控实战

SpringBoot应用监控实战

利用SpringBoot作为微服务单元的实例化技术选型时,我们不可避免的要面对的一个问题就是如何实时监控应用的运行状况数据,比如:健康度、运行指标、日志信息、线程状况等等。本文就该问题做一点探索并记录试验过程。


概述

之前讲过Docker容器的可视化监控,即监控容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息。同样利用SpringBoot作为微服务单元的实例化技术选型时,我们不可避免的要面对的一个问题就是如何实时监控应用的运行状况数据,比如:健康度、运行指标、日志信息、线程状况等等。本文就该问题做一点探索并记录试验过程。


入门使用:Actuator插件

Actuator插件是SpringBoot原生提供的一个服务,可以通过暴露端点路由,用来输出应用中的诸多 端点信息。实战一下!

  • pom.xml中添加依赖:

启动Spring Boot应用程序之后,只要在浏览器中输入端点信息就能获得应用的一些状态信息。

常用端点列举如下,可以一个个详细试一下:

  • /info        应用基本信息
  • /health       健康度信息
  • /metrics      运行指标
  • /env        环境变量信息
  • /loggers      日志相关
  • /dump       线程相关信息
  • /trace       请求调用轨迹

当然此时只能使用/health/info端点,其他因为权限问题无法访问。想访问指定端点的话可以在yml配置中添加相关的配置项,比如/metrics端点则需要配置:

此时浏览器访问/metrics端点就能得到诸如下面所示的信息:

当然也可以开启全部端点权限,只需如下配置即可:

由于Actuator插件提供的监控能力毕竟有限,而且UI比较简陋,因此需要一个更加成熟一点的工具


Spring Boot Admin监控系统

SBA则是基于Actuator更加进化了一步,其是一个针对Actuator接口进行UI美化封装的监控工具。我们来实验一下。

  • 首先来创建一个Spring Boot Admin Server工程作为服务端

pom.xml中加入如下依赖:

然后在应用主类上通过加注解来启用Spring Boot Admin

启动程序,浏览器打开 localhost:8081 查看Spring Boot Admin主页面:

此时Application一栏空空如也,等待待监控的应用加入

  • 创建要监控的Spring Boot应用

pom.xml中加入以下依赖

然后在yml配置中添加如下配置,将应用注册到Admin服务端去:

Client应用一启动,Admin服务立马推送来了消息,告诉你AdminTest上线了:

此时去Admin主界面上查看,发现Client应用确实已经注册上来了:

  • 查看Detail
  • 查看 Metrics
  • 查看 Enviroment
  • 查看JMX
  • 查看Threads
  • 查看Trace与详情

点击最上方JOURNAL,会看到被监控应用程序的事件变化:

图中可以清晰地看到,应用从 REGISTRATION → UNKNOWN → UP 的状态跳转。

这样就将Actuator插件提供的所有端点信息在SBA中全部尝试了一遍。


参考文献


后记

作者一些其他容器化应用方面的文章:

作者更多的原创文章:在此

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初探Kotlin+SpringBoot联合编程

    CodeSheep
  • SpringBoot应用Docker化

    CodeSheep
  • 为Hexo博客添加LiveRe评论系统

    CodeSheep
  • 最全整理 | 121个Ubuntu终端常用快捷键

    Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手。在Ubuntu中打开终端的快捷键是Ctrl+Alt+T。其他的一...

    小小科
  • 微服务架构的中国式落地

    近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据...

    技术zhai
  • 中国式微服务技术栈2.0!

    近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据...

    Java后端技术
  • 微服务架构的中国式落地

    近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据...

    技术zhai
  • Python学习之------retry

    在做数据抓取的时候,经常遇到由于网络问题导致的程序保存,先前只是记录了错误内容,并对错误内容进行后期处理。

    py3study
  • 云爆发架构中哪些应用可以良好运行?

    云爆发是管理峰值业务的一个方法,但对于特定的应用说,这很难实现。因此,你知道哪些类型的应用可以最好地爆发到公有云中? 混合云的一个卖点就是IT团队可以达到的成本...

    静一
  • 侠盗猎车手GTA5单机版

    《侠盗猎车手5》(Grand Theft Auto V)又名“给他爱5”,是由Rockstar Games游戏公司出版发行的一款围绕犯罪为主题的开放式动作冒险游...

    叮当叮

扫码关注云+社区

领取腾讯云代金券