Springboot集成actuator还是比较简单的。
但是,我们需要先了解一下什么是actuactor呢?
如标题所示,actuator是程序监控器。
提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用。
这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。
一:添加pom依赖
<!-- 程序监控 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
二:配置application.yml
# actuator 监控配置
management:
#actuator端口 如果不配置做默认使用上面8080端口
server:
port: 9091
endpoints:
web:
exposure:
#默认值访问health,info端点 用*可以包含全部端点
include: "*"
#修改访问路径 2.0之前默认是/; 2.0默认是/actuator可以通过这个属性值修改
base-path: /actuator
endpoint:
shutdown:
enabled: true #打开shutdown端点
health:
show-details: always #获得健康检查中所有指标的详细信息
三:访问http://localhost:9091/actuator
我们访问就会出现这样的画面,看着有点难看,不过有了这些信息,还可以格式化显示,目前也有很多开源的项目可以自动实现。
其他的端口如下:可以把上面的地址的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。基本上是这样。
但是呢,这里有一个小小的问题,这个地址是谁都能访问的,这个不安全啊,有问题啊,怎么解决呢?
为了解决这个问题,我再项目中集成了security安全框架来解决这个问题。这个后边会记录。
有好的建议,请在下方输入你的评论。