是什么
是SpringBoot程序的监控能力. 快速的定位问题.
整合
依赖
spring-boot-starter-actuatir
注解
无
配置
management.endpoint.health.show-details=always
界面
actuator 提供了界面. 查看 暴露的 api.
默认是 http://localhost:8080/actuator
展示了 spring-actuator 的所有端点
这里的端口号 配置文件书写的端口号
health
health端点:
健康检查: 应用的资源
配置
management.endpoint.health.show-details=always
总结:
health会展示资源的信息.比如:
磁盘现在是 250G,如果磁盘可用空间少于 threshold,则被认为是不健康的
status取值
1. up: 正常
2. down: 不正常
3. out_of_service: 资源不该/未在 使用
4. UNKONW:不知道,资源状态
总结
actuator 能够监控多个资源,比如数据库,es,solr,redis,等等
常用的资源都能做监控
info 端点
描述性端点. 描述应用.
配置
info.x=y
info.key=value
端点
actuator 监控很多资源. 但只暴露了 health,info 端点.
激活端点
management.endpoints.web.exposure.include=*
再次查看 端点界面. 发现多了好多 端点
指定激活端点
management.endpoints.web.exposure.include=health,metrics
动态配置
在yml中使用${} 动态获取配置项的值
一共有17种方式实现
启动参数
常用的有四种
环境变量
java -jar xxx. --SOME_ENV = always
这里的 SOME_ENV 是 配置项 ${SME_ENV} 的名字
外部配置文件
1. 新建一个目录
2. 将 jar 和yml放到目录中
3. 启动
springboot 能够读取相同路径的配置文件,并且 这个配置文件比jar 内的配置文件优先级别更高
命令行参数
--server.port=8081
在命令行中
java -jar xxx.jar --server.port=8081
profile
实现不同环境不同配置
yml
在yml中,使用 --- 三个减号,实现不同的配置. 减号称为: 连字符
# 公共环境
xxx
---
spring:
profiles: dev
---
spring:
profiles: prod
第一段是 公共的
第二,三俩段,对应不同的 环境. 可以分别使用.
在公共段,添加
# 配置默认的启动环境变量
spring:
profiels:
active: dev
properties
建立不同的 properties 文件. 配置不同的配置
配置默认启动:
spring.profiels.active: dec