starter包的内容就是pom文件,就是一个依赖传递包。 帮我们封装好了所有需要的依赖,避免我们自己添加导致的一些Jar包冲突或者缺少包的情况.这些Starters作为Spring相关技术的引导过程,我们 不再需要担心依赖关系,它们将由Spring Boot Starters自动管理。
autoconfigure就是帮我们自动把bean注入到IOC容器中。
actuator是Spring Boot的监控插件,本身提供了很多接口可以获取当前项目的各项运行状态指标。
我们用的比较少,所以就不多赘述了。个人感觉比较好用的功能就是命令行直接执行groovy脚本了。
Actuator端点可以监控应用程序并与之交互。Spring Boot包括许多内置的端点,
比如health端点提供基本的应用程序运行状况信息,并允许添加自定义端点。
可以控制每个单独的端点启用或禁用,也可以通过include和exclude属性通配,
这会影响端点的Bean创建。这会影响端点的Bean创建。要远程访问端点,还必须通过JMX或HTTP公开。
大多数应用程序选择HTTP,其中/actuator前缀和端点的ID组成了对外暴露的URL。
比如默认情况下,health端点映射到/actuator/health。
ID | 描述 | JMX(是否默认开启) | HTTP(是否默认开启) |
auditevents | 公开当前应用程序的审核事件信息。 | Yes | No |
beans | 显示应用程序中所有Spring bean的完整列表。 | Yes | No |
caches | 公开可用的缓存。 | Yes | No |
conditions | 显示在配置和自动配置类上评估的条件,以及它们匹配或不匹配的原因。 | Yes | No |
configprops | 显示所有@ConfigurationProperties的整理列表。 | Yes | No |
env | 从Spring的ConfigurableEnvironment中公开属性。 | Yes | No |
flyway | 显示已应用的所有Flyway数据库迁移。 | Yes | No |
health | 显示应用程序运行状况信息。 | Yes | Yes |
heapdump | 返回hprof堆转储文件。 | ||
httptrace | 显示HTTP跟踪信息(默认情况下,最后100个HTTP请求-响应交换)。 | Yes | No |
info | 显示任意应用程序信息。 | Yes | Yes |
integrationgraph | 显示Spring集成图。 | Yes | No |
jolokia | 通过HTTP公开JMX bean(当Jolokia在类路径上时,WebFlux不可用)。 | ||
logfile | 返回日志文件的内容(如果已设置logging.file或logging.path属性)。支持使用 HTTP Range 头来检索日志文件的部分内容。 | ||
loggers | 显示和修改应用程序中记录器的配置。 | Yes | No |
liquibase | 显示已应用的任何Liquibase数据库迁移。 | Yes | No |
metrics | 显示当前应用程序的"度量"信息。 | Yes | No |
mappings | 显示所有@RequestMapping路径的整理列表。 | Yes | No |
prometheus | 以Prometheus服务器可以抓取的格式公开度量。 | ||
scheduledtasks | 显示应用程序中的计划任务。 | Yes | No |
sessions | 允许从支持Spring Session的会话存储中检索和删除用户会话。在使用Spring Session对反应式web应用程序的支持时不可用。 | Yes | No |
shutdown | 允许优雅地关闭应用程序。 | Yes | No |
threaddump | 执行线程转储。 | Yes | No |
通过include和exclude属性控制节点的开启
属性 | 默认 |
management.endpoints.jmx.exposure.exclude | |
management.endpoints.jmx.exposure.include | * |
management.endpoints.web.exposure.exclude | |
management.endpoints.web.exposure.include | info, health |
- #暴露所有端点信息
- management.endpoints.enabled-by-default=true
- #以WEB方式暴露
- management.endpoints.web.exposure.include=*
- #关闭暴露所有端口
- management.endpoints.enabled-by-default=false
- #公开所有端点,除了env端点,并且启用beans和caches端点
- management.endpoint.beans.enabled=true
- management.endpoint.caches.enabled=true
- management.endpoints.web.exposure.include=*
- management.endpoints.web.exposure.exclude=env
访问http://localhost:8011/actuator就可以看到公共的端点
参考:
SpringBoot集成Actuator端点配置_木木与呆呆的博客-CSDN博客
Springboot使用Actuator健康监控以及可视化界面_LoneWalker、的博客-CSDN博客