对于最新稳定版本,请使用Spring Boot 4.0.0spring-doc.cadn.net.cn

HTTP 上的监控与管理

如果你正在开发一个网页应用,Spring Boot Actuator 会自动配置所有启用的端点,通过 HTTP 公开。 默认惯例是使用身份证端点的 ,前缀为/驱动器作为URL路径。 例如健康被揭示为/执行器/健康.spring-doc.cadn.net.cn

Actuator 原生支持于 Spring MVC、Spring WebFlux 和 Jersey。 如果同时有Jersey和春季MVC,则使用春季MVC。
Jackson 是获得正确 JSON 响应的必备依赖,正如 API 文档中所描述的。

管理端点路径的定制

有时,定制管理端点的前缀是有用的。 例如,你的应用程序可能已经使用/驱动器为了另一个目的。 你可以使用管理端点.web.base-path用于更改管理端点前缀的property,如下示例所示:spring-doc.cadn.net.cn

management.endpoints.web.base-path=/manage
management:
  endpoints:
    web:
      base-path: "/manage"

前述application.properties示例将端点从/执行器/{id}/manage/{id}(例如,/管理/信息).spring-doc.cadn.net.cn

除非管理端口被配置为通过使用不同的HTTP端口暴露端点管理端点.web.base-path相对于server.servlet.context-path(对于 servlet web 应用)或spring.webflux.base-path(针对响应式网页应用)。 如果management.server.port配置为,管理端点.web.base-path相对于management.server.base-path.

如果你想将端点映射到不同的路径,可以使用管理端点.web.path-mapping财产。spring-doc.cadn.net.cn

以下示例是重新映射的/执行器/健康/健康检查:spring-doc.cadn.net.cn

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.health=healthcheck
management:
  endpoints:
    web:
      base-path: "/"
      path-mapping:
        health: "healthcheck"

管理服务器端口的定制

通过默认HTTP端口暴露管理端点,对于云部署来说是一个明智的选择。 但如果你的应用运行在自己的数据中心内,你可能更倾向于通过不同的HTTP端口来暴露端点。spring-doc.cadn.net.cn

你可以设置management.server.port以下示例展示了 property 以更改 HTTP 端口:spring-doc.cadn.net.cn

management.server.port=8081
management:
  server:
    port: 8081
在Cloud Foundry中,默认情况下,应用程序仅在8080端口接收HTTP和TCP路由请求。 如果你想在Cloud Foundry上使用自定义管理端口,你需要明确设置应用路由,将流量转发到该自定义端口。

配置管理专用SSL

配置为使用自定义端口时,你也可以通过各种management.server.ssl.*性能。 例如,这样做可以让管理服务器通过HTTP可用,而主应用程序使用HTTPS,以下属性设置所示:spring-doc.cadn.net.cn

server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:store.jks
server.ssl.key-password=secret
management.server.port=8080
management.server.ssl.enabled=false
server:
  port: 8443
  ssl:
    enabled: true
    key-store: "classpath:store.jks"
    key-password: "secret"
management:
  server:
    port: 8080
    ssl:
      enabled: false

另外,主服务器和管理服务器也可以使用SSL,但密钥存储不同,具体如下:spring-doc.cadn.net.cn

server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:main.jks
server.ssl.key-password=secret
management.server.port=8080
management.server.ssl.enabled=true
management.server.ssl.key-store=classpath:management.jks
management.server.ssl.key-password=secret
server:
  port: 8443
  ssl:
    enabled: true
    key-store: "classpath:main.jks"
    key-password: "secret"
management:
  server:
    port: 8080
    ssl:
      enabled: true
      key-store: "classpath:management.jks"
      key-password: "secret"

管理服务器地址的定制

你可以通过设置管理服务器.address财产。 如果你只想监听内部或面向运维的网络,或者只监听来自本地主持.spring-doc.cadn.net.cn

只有当端口与主服务器端口不同时,你才能在不同地址监听。

以下示例application.properties不允许远程管理连接:spring-doc.cadn.net.cn

management.server.port=8081
management.server.address=127.0.0.1
management:
  server:
    port: 8081
    address: "127.0.0.1"

禁用HTTP端点

如果你不想通过HTTP暴露端点,可以将管理端口设置为-1,如下示例所示:spring-doc.cadn.net.cn

management.server.port=-1
management:
  server:
    port: -1

你也可以通过使用管理端点.web.exposure.exclude性质,如下例所示:spring-doc.cadn.net.cn

management.endpoints.web.exposure.exclude=*
management:
  endpoints:
    web:
      exposure:
        exclude: "*"