Health API

Este documento describe la API Health v2 de Fess. Para el sobre de respuesta común y el modelo de errores, consulte Descripción general de la API.

La URL base es http://<Server Name>/api/v2/ (ejemplo en entorno local: http://localhost:8080/api/v2).

Obtención del estado

Solicitud

Método HTTP GET
Endpoint /api/v2/health

Devuelve una instantánea del estado del clúster del motor de búsqueda (etiqueta monitor). El estado HTTP es 200 cuando el estado del clúster es green o yellow, y 503 cuando es red.

Este endpoint respeta la invariante del sobre: «status >= 1 ⇔ estado HTTP >= 400».

  • En caso de green o yellow: devuelve el sobre de éxito (status: 0) con engine.

  • En caso de red: devuelve el sobre de error (status: 9, error.code: service_unavailable) e incorpora la instantánea del motor bajo error.details.engine (para que las herramientas de monitoreo puedan analizar los metadatos del clúster).

Los campos de engine son los siguientes:

Campos de engine
cluster_name Nombre del clúster (str).
status Estado del clúster. Uno de green / yellow / red.
ping_status Estado del ping (int).

Tabla: Campos de engine

Parámetros de solicitud

No hay parámetros de solicitud disponibles.

Respuesta

Cuando el clúster está en estado green o yellow (200), se devuelve el sobre de éxito con engine.

{
  "response": {
    "status": 0,
    "engine": {
      "cluster_name": "fess-es",
      "status": "green",
      "ping_status": 0
    }
  }
}

Cuando el clúster está en estado red (503), se devuelve el sobre de error y la instantánea del motor se incorpora bajo error.details.engine.

{
  "response": {
    "status": 9,
    "error": {
      "code": "service_unavailable",
      "message": "Cluster is unavailable.",
      "details": {
        "engine": {
          "cluster_name": "fess-es",
          "status": "red",
          "ping_status": 2
        }
      }
    }
  }
}

Ejemplos de uso

Ejemplo de solicitud usando el comando curl:

curl "http://localhost:8080/api/v2/health"

Respuesta y respuesta de error

Consulte Descripción general de la API para detalles del modelo de errores. Los estados HTTP que devuelve este endpoint son:

Lista de respuestas
Código de estado Descripción
200 OK Cuando el clúster está en estado green o yellow y es accesible. El sobre de éxito incluye engine.
405 Method Not Allowed Cuando el método HTTP no está permitido.
503 Service Unavailable Cuando el clúster está en estado red. El sobre de error (error.code: service_unavailable) incluye la instantánea del motor en error.details.engine.

Tabla: Lista de respuestas