3.4. MicroProfile Health 配置


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 Health 启用身份验证

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

流程

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

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

    reload

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

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 操作中使用三个探测:

[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
返回顶部