关键词: Spring Cloud Alibaba, SpringBoot Actuator
看了B站关于监控系统的发展,一开始他们给各个系统单独装各种监控报错(docker,redis)导致监控页面太多了。后来选择了整合的方式,根据事件统一看监控。
服务监控
基本介绍
- 什么是服务监控
监视当前系统应用状态、内存、线程、堆栈、日志等等相关信息,主要目的在服务出现问题或者快要出现问题时能够准确快速地发现以减小影响范围。
- 为什么要使用服务监控
服务监控在微服务改造过程中的重要性不言而喻,没有强大的监控能力,改造成微服务架构后,就无法掌控各个不同服务的情况,在遇到调用失败时,如果不能快速发现系统的问题,对于业务来说就是一场灾难。
- spring boot actuator 服务监控接口
actuator
是监控系统健康情况的工具。
Spring Boot Actuator是Spring Boot中一个非常有用的功能,它允许您在应用程序运行时监控和管理应用程序。它包含了许多内置的端点(endpoint),可以用来查看应用程序的健康状态、内存使用情况、线程数、请求日志、配置信息等等。通过Spring Boot Actuator,您可以很方便地获取应用程序的各种度量指标,从而可以更好地了解应用程序在运行中的情况,并进行必要的管理和优化。
Spring Boot Actuator不仅可以提供内置的端点,还可以允许您自定义端点,以满足特定的监控和管理需求。您可以通过简单的配置和编写代码,轻松地添加自定义端点,并提供必要的监控和管理功能。
总之,Spring Boot Actuator是一个非常强大的工具,可以帮助您轻松地监控和管理Spring Boot应用程序,提高应用程序的可靠性和性能。
- spring boot admin 服务监控管理
Spring Boot Admin
是一个针对spring-boot
的actuator
接口进行UI美化封装的监控工具。他可以:在列表中浏览所有被监控spring-boot
项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,还可以直接修改logger的level。
如何使用
1、新建监控模块,添加依赖
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2、在application.yml
配置暴露所有监控端点
management:
endpoints:
web:
exposure:
include: '*'
3、启动监控模块
4、启动后访问http://IP:端口号/actuator
,返回正确数据表示测试通过。
# 端点分类
地址 | 描述 |
---|---|
/beans | 显示所有的Spring bean 列表 |
/caches | 显示所有的缓存相关信息 |
/scheduledtasks | 显示所有的定时任务相关信息 |
/loggers | 显示所有的日志相关信息 |
/configprops | 显示所有的配置信息 |
/env | 显示所有的环境变量信息 |
/mappings | 显示所有控制器相关信息 |
/info | 显示自定义用户信息配置 |
/metrics | 显示应用指标相关信息 |
/health | 显示健康检查状态信息,up 表示成功 down 表示失败 |
/threaddump | 显示程序线程的信息 |
# 整合Admin-Ui
1、添加依赖
<!-- SpringBoot Admin -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
2、在启动类添加注解
@EnableAdminServer
浏览器访问http://IP:端口可以看到以监控界面
客户端整合(无配置中心)
如果没有配置中心,则需要在客户端填写Admin
服务端地址
1、添加依赖
<!-- SpringBoot Admin Client -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2、配置服务端地址
spring:
application:
name: ruoyi-admin-client
boot:
admin:
client:
url: http://localhost:9100
集成Nacos
似乎,,没什么要做的,,,,监控端正常集成下nacos就行了,,
集成spring security添加登录认证
正常集成spring security即可
实时日志
Spring Boot Admin提供了基于
Web页面的方式实时查看服务输出的本地日志,前提是服务中配置了
logging.file.name
bootstrap.yml
logging:
file:
name: logs/${spring.application.name}/info.log