3.4. MicroProfile 健康配置


3.4.1. 使用管理 CLI 检查健康状况

您可以使用管理 CLI 检查系统健康状况。

流程

  • 检查健康状况:

    /subsystem=microprofile-health-smallrye:check
    {
        "outcome" => "success",
        "result" => {
            "status" => "UP",
            "checks" => []
        }
    }

3.4.2. 使用管理控制台检查健康状况

您可以使用管理控制台检查系统健康状况。

检查运行时操作以布尔值的形式显示健康检查和全局结果。

流程

  1. 导航到 Runtime 选项卡,再选择服务器。
  2. 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

    访问此上下文以 JSON 格式显示健康检查,指示服务器是否正常运行。

3.4.4. 为 MicroProfile 健康启用身份验证

您可以将 健康 上下文配置为需要身份验证才能访问。

流程

  1. microprofile-health-smallrye 子系统上,将 security-enabled 属性设置为 true

    /subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)
  2. 重新加载服务器,使更改生效。

    reload

任何后续尝试访问 /health 端点的尝试都会触发身份验证提示。

JBoss EAP XP 5.0.0 支持三个就绪度探测来确定服务器健康和就绪状态。

  • 当 server-state 运行时server-status - 返回 UP
  • 当探测没有检测到引导错误时,boot-errors - 返回 UP
  • 当所有部署的状态为 OK 时,Deployment-status - 返回 UP

这些就绪度探测默认为启用。您可以使用 MicroProfile Config 属性 mp.health.disable-default-procedures 禁用探测。

以下示例演示了在 check 操作中使用三个探测:

[standalone@localhost:9990 /] /subsystem=microprofile-health-smallrye:check
{
    "outcome" => "success",
    "result" => {
        "status" => "UP",
        "checks" => [
            {
                "name" => "boot-errors",
                "status" => "UP"
            },
            {
                "name" => "server-state",
                "status" => "UP",
                "data" => {"value" => "running"}
            },
            {
                "name" => "empty-readiness-checks",
                "status" => "UP"
            },
            {
                "name" => "deployments-status",
                "status" => "UP"
            },
            {
                "name" => "empty-liveness-checks",
                "status" => "UP"
            },
            {
                "name" => "empty-startup-checks",
                "status" => "UP"
            }
        ]
    }
}

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}"
    }
  • 如果未定义存活度探测,则 :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}"
    }
  • 如果未定义启动探测,则 :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}"
    }

    检查 就绪度存活度 和启动 探测的 /health HTTP 端点和 :check 操作也会考虑这些属性。

您还可以修改这些属性,如下例所示:

/subsystem=microprofile-health-smallrye:write-attribute(name=empty-readiness-checks-status,value=DOWN)
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部