这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战。
搭建监控服务器(SpringBoot Admin)
我们将来会搭建、部署、运行很多个微服务模块,虽然我们可以在Nacos Console上看到它们是否正常运行,但是如果能够更细致地监控微服务,比如JVM情况、HTTP请求的情况、配置信息等,这样会使我们更加了解系统的健康状态。由于从零到有搭建这样一个监控模块十分复杂且需要花费大量时间还不一定能考虑周全,所以我们找到一个开源的解决方案————SpringBoot Admin。
一、认识SpringBoot Actuator
Actuator是SpringBoot提供的对应用系统的自省和监控的集成功能,可以查看应用配置的详细信息,例如自动化的配置信息、创建的Spring Bean信息以及一些环境属性等。
Actuator的核心是Endpoints(端点),用来监视应用程序及交互,SpringBoot Actuator内置了很多Endpoints,并支持自定义化的扩展。
由于原生的SpringBoot Actuator的这些端点返回的都是Json数据,需要我们自己去实现对Json数据的一个解析和观测,不仅麻烦而且耗时,由此SpringBoot Admin出现了。SpringBoot Admin基于调用SpringBoot Actuator的端点,并使用Vue框架去呈现这些端点的监控数据,以可视化的图像、文字效果来实时的告诉我们应用的健康状态,目前它已经被广泛地应用于SpringBoot单体应用和SpringCloud微服务应用中了。
SpringBoot Actuator 提供的原生端点可以分为三类:
1)应用配置类
自动配置信息、Spring Bean信息、yml文件信息、环境信息等。
2)度量指标类
主要是运行期间的动态信息,例如堆栈、健康指标、metrics信息等,这类端点是我们最常使用来监控我们工程的。
3)操作控制类
主要是指shutdown,用户可以发送一个请求将应用的监控功能关闭,这类端点几乎不会被使用到。
二、搭建步骤
搭建SpringBoot Admin十分简单,这归功于SpringBoot的简洁性。
1)创建一个SpringBoot工程
2)引入SpringBoot Admin Starter自动配置依赖
3)在启动程序上添加启动注解:@EnableAdminServer
至此我们了解了搭建监控服务器(SpringBoot Admin)的基本过程,下一篇文章我们会将这一模块搭建到我们的工程中去。
该Spring Cloud / Alibaba 微服务架构系列文章感谢张勤一老师的指导!