SpringBoot 整合Actuator健康监测
简介:Actuator是SpringBoot提供用来对应用系统进行监控的功能模块,开发者很方便地对系统监控指标进行查看和统计等,若想用界面化工具,可以整合SpringBoot Admin。
1. Actuator监控项
A. /autoconfig:查看自动配置使用的情况;
B. /configprops:配置属性的内容和默认值;
C. /beans:显示Bean的别名、类型、是否单例、类的地址、依赖等信息;
D. /dump:打印线程名、线程ID、线程的状态、是否等待锁资源等信息;
E. /env:显示环境变量、JVM属性、命令行参数、项目使用的jar包等信息;
F. /heath:显示磁盘检测和数据库检测等信息,默认暴露;
G. /info:查看自定义的配置信息,默认暴露;
H. /mappings:显示全部的URI路径、以及和他们控制器的映射关系;
I. /metrics:可以得到JVM使用、GC情况、类加载信息;
J. /shutdown:可以进行关闭程序,POST请求方式;
K. /trace:可以得到Web请求的详细信息。
2. pom.xml Maven依赖
<!-- Actuator监控 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
3. application.yml配置文件
management: endpoints: web: # 配置endpoint的基础路径(默认前缀是/actuator) base-path: /management exposure: include: "*" # exclude的优先级高于include exclude: shutdown endpoint: health: show-details: ALWAYS # 日志文件 logfile: enabled: true logging: file: name: manage.log path: /data/manage
4. 自定义端点Endpoint
5. Endpoint安全性
A. pom.xml Maven依赖
<!-- Spring Security身份验证 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
B. application.yml配置文件
spring
security:
user:
name: ruphie
password: 123456
C. 安全问题
关闭指定的endpoint,在application.yml中配置*.enable=false;
通过设置management.port=-1关闭endpoint的HTTP访问接口,或者是设置其他的端口,供内部的admin服务访问;
设置本地访问,management.address=127.0.0.1,通过设置management.context-path=/admin,可以设置指定的根路径,然后通过Nginx鉴权代理访问。