3.4. MicroProfile Health 配置
3.4.1. 使用管理 CLI 检查健康状况 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 检查系统健康状况。
流程
检查健康状况:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. 使用管理控制台检查健康状况 复制链接链接已复制到粘贴板!
您可以使用管理控制台检查系统健康状况。
检查运行时操作将健康检查和全局结果显示为布尔值。
流程
- 导航到 Runtime 选项卡,再选择服务器。
-
在 Monitor 列中,单击 MicroProfile Health
View。
3.4.3. 使用 HTTP 端点检查健康状况 复制链接链接已复制到粘贴板!
健康检查会自动部署到 JBoss EAP 上的健康上下文中,因此您可以使用 HTTP 端点获取当前的健康状况。
可以从管理接口访问的 /health 端点的默认地址是 http://127.0.0.1:9990/health。
流程
要使用 HTTP 端点获取服务器的当前健康状况,请使用以下 URL:
http://<host>:<port>/health
http://<host>:<port>/healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 访问此上下文以 JSON 格式显示健康检查,指示服务器是否健康。
3.4.4. 为 MicroProfile Health 启用身份验证 复制链接链接已复制到粘贴板!
您可以将 健康 上下文配置为需要身份验证才能访问。
流程
在
microprofile-health-smallrye子系统中将security-enabled属性设置为true。/subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)
/subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载服务器以使更改生效。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
任何后续尝试访问 /health 端点都会触发身份验证提示符。
3.4.5. 决定服务器健康和就绪状态的就绪度探测 复制链接链接已复制到粘贴板!
JBoss EAP XP 4.0.0 支持三个就绪度探测来确定服务器健康和就绪状态。
-
server-status- 当 server-state运行时返回UP。 -
boot-errors- 当探测检测到没有引导错误时返回UP。 -
deployment-status- 当所有部署的状态为OK时返回UP。
这些就绪度探测默认为启用。您可以使用 MicroProfile Config 属性 mp.health.disable-default-procedures 禁用探测。
以下示例演示了在 check 操作中使用三个探测:
3.4.6. 没有定义探测时的全局状态 复制链接链接已复制到粘贴板!
:empty-readiness-checks-status,:empty-liveness-checks-status, 和 :empty-startup-checks-status 管理属性指定没有 就绪度、存活度 或 启动探测 的全局状态。
这些属性允许应用报告 'DOWN',直到探测验证应用是否已就绪、实时或启动。默认情况下,应用程序会报告 'UP'。
如果未定义就绪度探测,则
:empty-属性指定readiness-checks-status就绪度探测的全局状态:/subsystem=microprofile-health-smallrye:read-attribute(name=empty-readiness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-readiness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果未定义存活度探测,则
:empty-属性指定liveness-checks-status存活度探测的全局状态:/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow :empty-startup-checks-status属性指定启动探测的全局状态,如果没有定义启动探测:/subsystem=microprofile-health-smallrye:read-attribute(name=empty-startup-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-startup-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
就绪度、存活度和启动探测也考虑这些属性,/healthHTTP 端点和:check操作也会考虑这些属性。
您还可以修改这些属性,如下例所示: