前言
有时候咱们想要实时监控咱们的应用程序的运行状态,比方实时显示一些指标数据,察看每时每刻拜访的流量,或者是咱们数据库的拜访状态等等。这时候就须要Actuator
了。
应用Actuator的益处是,咱们能够间接应用这个生产级别的工具,而不须要本人去实现这些货色。Actuator能够主动帮咱们主动暴露出这些信息,应用HTTP或者是JMX beans的形式实现。最次要的是咱们间接在properties文件中配置即可。
上面看看如何实现:
代码实现
创立一个springboot我的项目,我应用的是Springboot2.4的版本。
第一步:增加依赖
<!--监控依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>
依赖就这么简略。
第二步:配置
#扭转应用程序的端口server.port=8081#1、actuator默认只开启了info和health两个端点#以下配置能够开启所有的端点:management.endpoints.web.exposure.include= *#2、开启衰弱监控数据management.endpoint.health.show-details=always#3、启用httptrace端点management.endpoint.httptrace.enabled=true#4、每次都要加个actuator前缀太麻烦,扭转端点前缀门路management.endpoints.web.base-path= /
这么减少了几个配置。
当初咱们间接拜访就能够了。
第三步:间接拜访
因为在后面咱们配置了本人的base-path。所以不须要减少actuator的前缀。当初拜访:
http://localhost:8081/mappings
咱们拜访就会呈现这样的画面,看着有点难看,不过有了这些信息,还能够格式化显示,目前也有很多开源的我的项目能够主动实现。
其余的端口如下:能够把下面的地址的mappings扭转一下就能够了。
EndPoints | 形容 |
---|---|
auditevents | 公开以后应用程序的审核事件信息。 |
beans | 显示应用程序中所有Spring bean的残缺列表。 |
caches | 裸露可用的缓存。 |
conditions | 显示在配置和主动配置类上评估的条件以及它们匹配或不匹配的起因。 |
configprops | 显示所有的整顿列表@ConfigurationProperties,查看配置属性,包含默认配置 |
env | 露出Spring的属性的各种环境变量,前面可跟/{name}查看具体的值 |
flyway | 显示已利用的任何Flyway数据库迁徙。 |
health | 显示利用衰弱信息,2.0当前须要在配置里show-details关上k开关 |
httptrace | 显示HTTP跟踪信息,2.0当前须要手动关上 |
info | 显示任意利用信息,是在配置文件里本人定义的 |
integrationgraph | 显示Spring Integration图。 |
loggers | 显示和批改应用程序中记录器的配置。 |
liquibase | 显示已利用的任何Liquibase数据库迁徙。 |
metrics | 显示指标信息,比方内存用量和HTTP申请计数,后可跟/{name}查看具体值 |
mappings | 显示所有@RequestMapping门路的整顿列表。 |
scheduledtasks | 显示应用程序中的打算工作。 |
sessions | 容许从Spring Session反对的会话存储中检索和删除用户会话。 |
shutdown | 容许应用程序失常敞开。 |
threaddump | 执行线程转储。 |
OK。基本上是这样。
为Actuator增加平安验证
比方咱们的Actuator的端口不想被无关人员看到,于是就能够配置Spring security增加登录。形式如下:
第一步:增加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>
第二步:在properties文件中增加配置
#5、端口信息被他人看到了咋办,能够增加个securityspring.security.user.name= fddspring.security.user.password= 123456spring.security.user.roles= ADMIN
这里设置的用户面是fdd,明码123456,角色是ADMIN。
第三步:从新拜访下面的端口地址
从新拜访相干端口地址,就会被重定向到登录页面。应用配置好的用户名明码登录即可。
OK,这个比较简单。