[17.0.0.3 and later]

Realización de comprobaciones de estado de MicroProfile

Configure la característica mpHealth-1.0 e implemente la interfaz de programación de aplicaciones (API) HealthCheck para proporcionar comprobaciones de estado en el microservicio.

Acerca de esta tarea

Una comprobación de estado es una implementación de la API de estado de MicroProfile que proporciona un microservicio. Utilice comprobaciones de estado para acceder al estado de un servicio. Estas comprobaciones pretenden ser, básicamente, mecanismos de máquina a máquina en entornos en contenedores como, por ejemplo, comprobaciones de "vitalidad" en Kubernetes. La característica mpHealth-1.0 proporciona un punto final /health que representa el estado binario, ya sea UP o DOWN, de los microservicios que están instalados. Un microservicio puede proporcionar cero o más comprobaciones de estado y el estado general del servidor es el agregado del estado de cada comprobación de estado. El resultado global es positivo solo si todas las comprobaciones de estado notifican un resultado positivo.

Procedimiento

  1. Configure la característica. Actualice el archivo server.xml para añadir la característica:
    <featureManager>
       <feature>mpHealth-1.0</feature>
    </featureManager>
  2. Utilice la API para proporcionar las comprobaciones de estado que desea realizar:
    @FunctionalInterface
    public interface HealthCheck {
    
        HealthCheckResponse call();
    }

    El ejemplo siguiente muestra cómo puede utilizar la API para comprobaciones de estado:

    @Health
    @ApplicationScoped
    public class MyCheck implements HealthCheck {
    
       @Override
       public HealthCheckResponse call() {
            return HealthCheckResponse.named("MyCheck")
                    .withData("key1", "val1")
                    .withData("key2", "val2")
                    .up()
                    .build();
    
       }
    }
    La solicitud HTTP al punto final /health devuelve una respuesta con uno de los códigos de estado siguientes:
    • El código 200 indica una comprobación de estado con un resultado positivo.
    • El código 503 indica que el resultado general es negativo.
    • El código 500 indica que el sistema no ha podido procesar la solicitud de la comprobación de estado. Este código podría indicar un error en el procedimiento.

    La respuesta también contiene una carga útil de JavaScript Object Notation (JSON) con los detalles de las comprobaciones de estado. El código siguiente muestra un ejemplo de un resultado positivo:
    {
     "outcome": "UP",
     "checks": [
        {
          "name": "MyCheck",
          "state": "UP",
          "data: {
            "key": "value",
            "key1": "val1",
            "key2": "val2"
          }
        }
      ]
    }
    El código siguiente muestra un ejemplo de un resultado negativo:
    {
     "outcome": "DOWN",
     "checks": [
       {
        "name": "check1",
        "state": "UP"
       },
       {
        "name": "check2",
        "state": "DOWN"
       }
      ]
    }
    Si configura la característica, pero no proporciona ninguna comprobación de estado, el sistema responde con el código 200. La carga útil contiene un resultado positivo de UP y un conjunto vacío de comprobaciones.

Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_microprofile_healthcheck.html