一个进程是否运行良好是系统质量评测的重要指标,为了量度这个指标就要实时收集很多运行时数据,springboot actuator提供了一个良好的框架和常见场景的实现,有关的文章非常多,我也是边学习、边记录、变分享。
actuator已经提供的能力
endpoint | 说明 | 缺省开启 |
---|---|---|
auditevents | 显示当前应用程序的审计事件信息 | Yes |
beans | 显示一个应用中所有Spring Beans的完整列表 | Yes |
conditions | 显示配置类和自动配置类(configuration and auto-configuration classes)的状态及它们被应用或未被应用的原因 | Yes |
configprops | 显示一个所有@ConfigurationProperties的集合列表 | Yes |
env | 显示来自Spring的 ConfigurableEnvironment的属性 | Yes |
flyway | 显示数据库迁移路径,如果有的话 | Yes |
health | 显示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情) | Yes |
info | 显示任意的应用信息 | Yes |
liquibase | 展示任何Liquibase数据库迁移路径,如果有的话 | Yes |
metrics | 展示当前应用的metrics信息 | Yes |
mappings | 显示一个所有@RequestMapping路径的集合列表 | Yes |
scheduledtasks | 显示应用程序中的计划任务 | Yes |
sessions | 允许从Spring会话支持的会话存储中检索和删除(retrieval and deletion)用户会话。使用Spring Session对反应性Web应用程序的支持时不可用。 | Yes |
shutdown | 允许应用以优雅的方式关闭(默认情况下不启用) | No |
threaddump | 执行一个线程dump | Yes |
配置endpoint的暴露策略
是否暴露某个指定的endpoint只需要在工程的application里边进行配置即可,可以通过设置management.endpoint.<id>.enabled to true or false(id是endpoint的id)来决定打开还是关闭一个actuator endpoint,这里以health为例,按照yml格式说明
management:
endpoint:
health:
enabled: true
show-details: always
说明shutdown endpoint已经开启,show-details属性配置可以指出是否输出更详细的信息,always-显示,never-不显示,通过http://x.x.x.x/actuato/shutdown来查看。
查看某个服务暴露了那些actuator
通过http://x.x.x.x/actuato查看该服务暴露的所有actuator信息。
还有更丰富的功能就不再重复了,请参考下文《Spring Boot Actuator:健康检查、审计、统计和监控》
网友评论