20.2. 使用 Eclipse MicroProfile 健康监控服务器健康

重要

Eclipse MicroProfile 健康仅作为技术预览提供。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。

Eclipse Microprofile 健康 功能由 microprofile-health-smallrye 子系统提供。有关此子系统的更多信息,请参阅《配置指南》中的使用 Eclipse MicroProfile 健康的监控服务器健康状况

下面的部分描述了如何实施自定义健康检查

20.2.1. 实施自定义健康检查

microprofile-health-smallrye 子系统提供的默认实施将执行基本的健康检查。如需更多详细信息,可以包括服务器或应用程序状态上的自定义健康检查。任何包含类级别的 org.eclipse.microprofile.health.Health 注解的 Jakarta Contexts 和 Dependency Injection beans 都会在运行时自动发现和调用。

以下示例演示了如何创建返回 UP 状态的健康检查的新实施。

import org.eclipse.microprofile.health.Health;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;

@Health
public class HealthTest implements HealthCheck {

    @Override
    public HealthCheckResponse call() {
        return HealthCheckResponse.named("health-test").up().build();
    }
}

部署后,任何后续健康检查查询都将包含自定义检查,如下方所示。

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