[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-shenmeshi-spring-actuatortayoushenmeyoushi":3},{"id":4,"title":5,"slug":6,"summary":7,"content":8,"contentHtml":9,"wordCount":10,"readingTime":11,"categoryId":12,"tags":13,"coverImage":13,"thumbnail":13,"status":14,"isTop":15,"isRecommended":15,"allowComments":15,"password":13,"viewCount":16,"likeCount":15,"commentCount":15,"seoTitle":5,"seoKeywords":17,"seoDescription":18,"source":13,"sourceUrl":13,"publishTime":19},"2005272316555096065","什么是 Spring Actuator？它有什么优势？","shenmeshi-spring-actuatortayoushenmeyoushi","Spring Boot Actuator 是 Spring Boot 提供的一个用于监控和管理应用程序的模块。它通过暴露一系列 HTTP 端点（endpoints）或 JMX 接口，让开发者和运维人员可以轻松地获取应用的运行时状态、健康状况、指标信息、配置详情等，而无需自己编写额外的监控代码。 --- ### 一、Spring Actuator 的核心功能 1. **健康检查（Health）** - 检查应用及其依赖（如数据库、Redis、外部服务）是否正常。 - 默认路径：`\u002Factuator\u002Fhealth` 2. **应用信息（Info）** - 显示应用的基本信息，如版本、构建时间、Git 提交信息等。 - 默认路径：`\u002Factuator\u002Finfo` 3.","Spring Boot Actuator 是 Spring Boot 提供的一个用于监控和管理应用程序的模块。它通过暴露一系列 HTTP 端点（endpoints）或 JMX 接口，让开发者和运维人员可以轻松地获取应用的运行时状态、健康状况、指标信息、配置详情等，而无需自己编写额外的监控代码。\n\n---\n\n### 一、Spring Actuator 的核心功能\n\n1. **健康检查（Health）**  \n   - 检查应用及其依赖（如数据库、Redis、外部服务）是否正常。\n   - 默认路径：`\u002Factuator\u002Fhealth`\n\n2. **应用信息（Info）**  \n   - 显示应用的基本信息，如版本、构建时间、Git 提交信息等。\n   - 默认路径：`\u002Factuator\u002Finfo`\n\n3. **指标监控（Metrics）**  \n   - 提供 JVM、内存、线程、HTTP 请求、GC 等系统和应用级指标。\n   - 默认路径：`\u002Factuator\u002Fmetrics`\n\n4. **环境变量（Environment）**  \n   - 查看所有配置属性（包括来自 application.yml、系统属性、环境变量等）。\n   - 默认路径：`\u002Factuator\u002Fenv`\n\n5. **日志管理（Loggers）**  \n   - 动态查看和修改日志级别（无需重启应用）。\n   - 默认路径：`\u002Factuator\u002Floggers`\n\n6. **HTTP 跟踪（HttpTrace \u002F Traces）**  \n   - 记录最近的 HTTP 请求（可选启用），便于调试。\n   - 默认路径：`\u002Factuator\u002Fhttptrace`（旧版）或 `\u002Factuator\u002Fhttptraces`\n\n7. **线程转储（Threaddump）**  \n   - 获取当前 JVM 的线程快照，用于分析性能瓶颈或死锁。\n   - 默认路径：`\u002Factuator\u002Fthreaddump`\n\n8. **关闭应用（Shutdown）**  \n   - 安全地关闭应用（默认禁用，需显式启用）。\n   - 默认路径：`\u002Factuator\u002Fshutdown`\n\n---\n\n### 二、Spring Actuator 的优势\n\n1. **开箱即用**  \n   只需添加 `spring-boot-starter-actuator` 依赖，即可自动启用多个监控端点。\n\n2. **与 Spring Boot 无缝集成**  \n   无需额外配置即可与 Spring Boot 应用结合，支持自动装配和自定义扩展。\n\n3. **生产就绪（Production Ready）**  \n   提供了面向生产环境的监控能力，帮助快速诊断问题、保障系统稳定性。\n\n4. **安全可控**  \n   可通过 Spring Security 对敏感端点（如 shutdown、env）进行权限控制，防止未授权访问。\n\n5. **可扩展性强**  \n   支持自定义健康指示器（HealthIndicator）、指标（MeterRegistry 集成 Micrometer）、端点等。\n\n6. **与监控系统集成**  \n   通过 Micrometer，可将指标导出到 Prometheus、Graphite、Datadog、InfluxDB 等主流监控平台。\n\n---\n\n### 三、简单使用示例\n\n**1. 添加依赖（Maven）**\n```xml\n\u003Cdependency>\n    \u003CgroupId>org.springframework.boot\u003C\u002FgroupId>\n    \u003CartifactId>spring-boot-starter-actuator\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n```\n\n**2. 配置暴露端点（application.yml）**\n```yaml\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: health,info,metrics,env,loggers # 或使用 \"*\" 暴露全部（生产慎用）\n  endpoint:\n    health:\n      show-details: always\n```\n\n**3. 访问健康检查**\n```\nGET http:\u002F\u002Flocalhost:8080\u002Factuator\u002Fhealth\n```\n\n---\n\n### 四、注意事项\n\n- **安全性**：在生产环境中，切勿暴露所有端点，尤其是 `env`、`shutdown` 等敏感接口。\n- **性能影响**：部分端点（如 threaddump、heapdump）可能消耗较多资源，应谨慎使用。\n- **定制化**：可根据业务需求实现自定义 HealthIndicator 或 Metrics。\n\n---\n\n总之，Spring Boot Actuator 是构建可观测性（Observability）微服务的重要工具，极大简化了应用的运维和监控工作。","\u003Cp data-line=\"0\">Spring Boot Actuator 是 Spring Boot 提供的一个用于监控和管理应用程序的模块。它通过暴露一系列 HTTP 端点（endpoints）或 JMX 接口，让开发者和运维人员可以轻松地获取应用的运行时状态、健康状况、指标信息、配置详情等，而无需自己编写额外的监控代码。\u003C\u002Fp>\n\u003Chr data-line=\"2\">\n\u003Ch3 data-line=\"4\" id=\"一、Spring Actuator 的核心功能\">一、Spring Actuator 的核心功能\u003C\u002Fh3>\n\u003Col data-line=\"6\">\n\u003Cli data-line=\"6\">\n\u003Cp data-line=\"6\">\u003Cstrong>健康检查（Health）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"7\">\n\u003Cli data-line=\"7\">检查应用及其依赖（如数据库、Redis、外部服务）是否正常。\u003C\u002Fli>\n\u003Cli data-line=\"8\">默认路径：\u003Ccode>\u002Factuator\u002Fhealth\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"10\">\n\u003Cp data-line=\"10\">\u003Cstrong>应用信息（Info）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"11\">\n\u003Cli data-line=\"11\">显示应用的基本信息，如版本、构建时间、Git 提交信息等。\u003C\u002Fli>\n\u003Cli data-line=\"12\">默认路径：\u003Ccode>\u002Factuator\u002Finfo\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"14\">\n\u003Cp data-line=\"14\">\u003Cstrong>指标监控（Metrics）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"15\">\n\u003Cli data-line=\"15\">提供 JVM、内存、线程、HTTP 请求、GC 等系统和应用级指标。\u003C\u002Fli>\n\u003Cli data-line=\"16\">默认路径：\u003Ccode>\u002Factuator\u002Fmetrics\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"18\">\n\u003Cp data-line=\"18\">\u003Cstrong>环境变量（Environment）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"19\">\n\u003Cli data-line=\"19\">查看所有配置属性（包括来自 application.yml、系统属性、环境变量等）。\u003C\u002Fli>\n\u003Cli data-line=\"20\">默认路径：\u003Ccode>\u002Factuator\u002Fenv\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"22\">\n\u003Cp data-line=\"22\">\u003Cstrong>日志管理（Loggers）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"23\">\n\u003Cli data-line=\"23\">动态查看和修改日志级别（无需重启应用）。\u003C\u002Fli>\n\u003Cli data-line=\"24\">默认路径：\u003Ccode>\u002Factuator\u002Floggers\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"26\">\n\u003Cp data-line=\"26\">\u003Cstrong>HTTP 跟踪（HttpTrace \u002F Traces）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"27\">\n\u003Cli data-line=\"27\">记录最近的 HTTP 请求（可选启用），便于调试。\u003C\u002Fli>\n\u003Cli data-line=\"28\">默认路径：\u003Ccode>\u002Factuator\u002Fhttptrace\u003C\u002Fcode>（旧版）或 \u003Ccode>\u002Factuator\u002Fhttptraces\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"30\">\n\u003Cp data-line=\"30\">\u003Cstrong>线程转储（Threaddump）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"31\">\n\u003Cli data-line=\"31\">获取当前 JVM 的线程快照，用于分析性能瓶颈或死锁。\u003C\u002Fli>\n\u003Cli data-line=\"32\">默认路径：\u003Ccode>\u002Factuator\u002Fthreaddump\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli data-line=\"34\">\n\u003Cp data-line=\"34\">\u003Cstrong>关闭应用（Shutdown）\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul data-line=\"35\">\n\u003Cli data-line=\"35\">安全地关闭应用（默认禁用，需显式启用）。\u003C\u002Fli>\n\u003Cli data-line=\"36\">默认路径：\u003Ccode>\u002Factuator\u002Fshutdown\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Chr data-line=\"38\">\n\u003Ch3 data-line=\"40\" id=\"二、Spring Actuator 的优势\">二、Spring Actuator 的优势\u003C\u002Fh3>\n\u003Col data-line=\"42\">\n\u003Cli data-line=\"42\">\n\u003Cp data-line=\"42\">\u003Cstrong>开箱即用\u003C\u002Fstrong>\u003Cbr>\n只需添加 \u003Ccode>spring-boot-starter-actuator\u003C\u002Fcode> 依赖，即可自动启用多个监控端点。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli data-line=\"45\">\n\u003Cp data-line=\"45\">\u003Cstrong>与 Spring Boot 无缝集成\u003C\u002Fstrong>\u003Cbr>\n无需额外配置即可与 Spring Boot 应用结合，支持自动装配和自定义扩展。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli data-line=\"48\">\n\u003Cp data-line=\"48\">\u003Cstrong>生产就绪（Production Ready）\u003C\u002Fstrong>\u003Cbr>\n提供了面向生产环境的监控能力，帮助快速诊断问题、保障系统稳定性。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli data-line=\"51\">\n\u003Cp data-line=\"51\">\u003Cstrong>安全可控\u003C\u002Fstrong>\u003Cbr>\n可通过 Spring Security 对敏感端点（如 shutdown、env）进行权限控制，防止未授权访问。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli data-line=\"54\">\n\u003Cp data-line=\"54\">\u003Cstrong>可扩展性强\u003C\u002Fstrong>\u003Cbr>\n支持自定义健康指示器（HealthIndicator）、指标（MeterRegistry 集成 Micrometer）、端点等。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli data-line=\"57\">\n\u003Cp data-line=\"57\">\u003Cstrong>与监控系统集成\u003C\u002Fstrong>\u003Cbr>\n通过 Micrometer，可将指标导出到 Prometheus、Graphite、Datadog、InfluxDB 等主流监控平台。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Chr data-line=\"60\">\n\u003Ch3 data-line=\"62\" id=\"三、简单使用示例\">三、简单使用示例\u003C\u002Fh3>\n\u003Cp data-line=\"64\">\u003Cstrong>1. 添加依赖（Maven）\u003C\u002Fstrong>\u003C\u002Fp>\n\n        \u003Cdetails  data-line=\"65\" class=\"md-editor-code\" open=\"\">\n          \u003Csummary class=\"md-editor-code-head\">\n            \u003Cdiv class=\"md-editor-code-flag\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fdiv>\n            \u003Cdiv class=\"md-editor-code-action\">\n              \u003Cspan class=\"md-editor-code-lang\">xml\u003C\u002Fspan>\n              \u003Cspan class=\"md-editor-copy-button\" data-tips=\"复制代码\">复制代码\u003C\u002Fspan>\n              \n              \u003Cspan class=\"md-editor-collapse-tips\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-chevron-left md-editor-icon\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m14 16-4-4 4-4\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n          \u003C\u002Fsummary>\n          \u003Cpre>\u003Ccode class=\"language-xml\" language=xml>\u003Cspan class=\"md-editor-code-block\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">dependency\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">groupId\u003C\u002Fspan>&gt;\u003C\u002Fspan>org.springframework.boot\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">groupId\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">artifactId\u003C\u002Fspan>&gt;\u003C\u002Fspan>spring-boot-starter-actuator\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">artifactId\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">dependency\u003C\u002Fspan>&gt;\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan rn-wrapper aria-hidden=\"true\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\n        \u003C\u002Fdetails>\n      \u003Cp data-line=\"72\">\u003Cstrong>2. 配置暴露端点（application.yml）\u003C\u002Fstrong>\u003C\u002Fp>\n\n        \u003Cdetails  data-line=\"73\" class=\"md-editor-code\" open=\"\">\n          \u003Csummary class=\"md-editor-code-head\">\n            \u003Cdiv class=\"md-editor-code-flag\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fdiv>\n            \u003Cdiv class=\"md-editor-code-action\">\n              \u003Cspan class=\"md-editor-code-lang\">yaml\u003C\u002Fspan>\n              \u003Cspan class=\"md-editor-copy-button\" data-tips=\"复制代码\">复制代码\u003C\u002Fspan>\n              \n              \u003Cspan class=\"md-editor-collapse-tips\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-chevron-left md-editor-icon\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m14 16-4-4 4-4\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n          \u003C\u002Fsummary>\n          \u003Cpre>\u003Ccode class=\"language-yaml\" language=yaml>\u003Cspan class=\"md-editor-code-block\">\u003Cspan class=\"hljs-attr\">management:\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">endpoints:\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">web:\u003C\u002Fspan>\n      \u003Cspan class=\"hljs-attr\">exposure:\u003C\u002Fspan>\n        \u003Cspan class=\"hljs-attr\">include:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">health,info,metrics,env,loggers\u003C\u002Fspan> \u003Cspan class=\"hljs-comment\"># 或使用 &quot;*&quot; 暴露全部（生产慎用）\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">endpoint:\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">health:\u003C\u002Fspan>\n      \u003Cspan class=\"hljs-attr\">show-details:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">always\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan rn-wrapper aria-hidden=\"true\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\n        \u003C\u002Fdetails>\n      \u003Cp data-line=\"84\">\u003Cstrong>3. 访问健康检查\u003C\u002Fstrong>\u003C\u002Fp>\n\n        \u003Cdetails  data-line=\"85\" class=\"md-editor-code\" open=\"\">\n          \u003Csummary class=\"md-editor-code-head\">\n            \u003Cdiv class=\"md-editor-code-flag\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fdiv>\n            \u003Cdiv class=\"md-editor-code-action\">\n              \u003Cspan class=\"md-editor-code-lang\">\u003C\u002Fspan>\n              \u003Cspan class=\"md-editor-copy-button\" data-tips=\"复制代码\">复制代码\u003C\u002Fspan>\n              \n              \u003Cspan class=\"md-editor-collapse-tips\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-chevron-left md-editor-icon\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m14 16-4-4 4-4\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n          \u003C\u002Fsummary>\n          \u003Cpre>\u003Ccode class=\"language-\" language=>\u003Cspan class=\"md-editor-code-block\">GET http:\u002F\u002Flocalhost:8080\u002Factuator\u002Fhealth\u003C\u002Fspan>\u003Cspan rn-wrapper aria-hidden=\"true\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\n        \u003C\u002Fdetails>\n      \u003Chr data-line=\"89\">\n\u003Ch3 data-line=\"91\" id=\"四、注意事项\">四、注意事项\u003C\u002Fh3>\n\u003Cul data-line=\"93\">\n\u003Cli data-line=\"93\">\u003Cstrong>安全性\u003C\u002Fstrong>：在生产环境中，切勿暴露所有端点，尤其是 \u003Ccode>env\u003C\u002Fcode>、\u003Ccode>shutdown\u003C\u002Fcode> 等敏感接口。\u003C\u002Fli>\n\u003Cli data-line=\"94\">\u003Cstrong>性能影响\u003C\u002Fstrong>：部分端点（如 threaddump、heapdump）可能消耗较多资源，应谨慎使用。\u003C\u002Fli>\n\u003Cli data-line=\"95\">\u003Cstrong>定制化\u003C\u002Fstrong>：可根据业务需求实现自定义 HealthIndicator 或 Metrics。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr data-line=\"97\">\n\u003Cp data-line=\"99\">总之，Spring Boot Actuator 是构建可观测性（Observability）微服务的重要工具，极大简化了应用的运维和监控工作。\u003C\u002Fp>\n",2073,6,"0","",2,0,19,"应用,监控,actuator,默认,端点","Spring Boot Actuator 是 Spring Boot 提供的一个用于监控和管理应用程序的模块。它通过暴露一系列 HTTP 端点（endpoints）或 JMX 接口，让开发者和运维人员可以轻松地获取应用的运行时状态、健康状况、指标信息、配置详情等，而无需自己编写额外的监控代码。","2025-12-28 21:39:10"]