Skip to Content
Nueva versión 12 disponible 🎉
LicensingBabel Licensing ServiceComprobación de estado

Comprobación de estado

La comprobación de estado del Babel Licensing Service ofrece un mecanismo completo para supervisar el estado y el funcionamiento del servicio y de sus componentes. Esta función es esencial para garantizar la fiabilidad del sistema, facilitar la solución de problemas y permitir la integración con las herramientas de supervisión de la infraestructura.

Configuración

El comportamiento de la comprobación de estado se configura en la sección Application del archivo appsettings.json:

"Application": { "HealthCheckEndPoint": "/health", "HealthCheckResponseType": "JSON" }

HealthCheckEndPoint

Este ajuste especifica la ruta de la URL en la que está accesible el punto de acceso de la comprobación de estado. El valor predeterminado es /health.

Ejemplo: si su servicio se ejecuta en https://licensing.example.com y HealthCheckEndPoint tiene el valor /health, la URL completa de la comprobación de estado es https://licensing.example.com/health.

HealthCheckResponseType

Este ajuste determina el formato de la respuesta de la comprobación de estado. Se admiten dos formatos:

  • JSON: devuelve una respuesta JSON estructurada (valor predeterminado)
  • TEXT: devuelve una respuesta de texto sin formato, legible por personas

Formato de respuesta JSON

Cuando HealthCheckResponseType tiene el valor "JSON", el punto de acceso de la comprobación de estado genera una respuesta JSON estructurada como esta:

{ "status": "Healthy", "duration": "00:00:00.2514204", "timestamp": "2025-03-20T07:26:07.1085160Z", "checks": [ { "name": "babel_service_health", "status": "Healthy", "duration": "00:00:00.0010617", "data": { "serverTimeUtc": "2025-03-20T07:26:06.8604190Z", "activeTokens": 0 } }, { "name": "database_health", "status": "Healthy", "duration": "00:00:00.1003761" }, { "name": "webhook_processor_health", "status": "Healthy", "duration": "00:00:00.0605641", "data": { "hasFailedEvents": false } }, { "name": "geo_location_health", "status": "Healthy", "duration": "00:00:00.2456515" } ] }

Este formato es idóneo para:

  • Sistemas de supervisión automatizados
  • Integración con plataformas de orquestación como Kubernetes
  • Evaluación del estado mediante programación
  • Herramientas de supervisión de terceros capaces de analizar datos JSON

Formato de respuesta TEXT

Cuando HealthCheckResponseType tiene el valor "TEXT", el punto de acceso de la comprobación de estado genera un formato legible por personas:

Babel Licensing Service v. 11.0.0.0 Status: Healthy Duration: 00:00:00.2586788 Timestamp: 2025-03-20T07:23:14.0761680Z Version: 11.0.0.0 Checks: - Babel Licensing Service: Healthy (00:00:00.0024254) * Server Time Utc: 2025-03-20T07:23:13.8180050Z * Active Tokens: 0 - Database: Healthy (00:00:00.0901153) - Webhook Processor: Healthy (00:00:00.0687397) * Has Failed Events: False - Geo Location: Healthy (00:00:00.2550240)

Este formato es más adecuado para:

  • Inspección manual por parte de los administradores de sistemas
  • Herramientas de línea de comandos y comprobaciones de estado sencillas
  • Situaciones en las que la respuesta debe leerse con facilidad, sin más análisis
  • Entradas de archivos de registro y salida de la consola

Componentes de la comprobación de estado

La comprobación de estado del Babel Licensing Service supervisa varios componentes críticos:

  1. Estado del servicio: ofrece información sobre el servicio principal, como la hora del servidor, la edición de la licencia, los tokens activos y el número máximo de tokens permitidos.
  2. Estado de la base de datos: verifica la conectividad y el funcionamiento de la base de datos.
  3. Procesador de webhooks: comprueba que el sistema de procesamiento de webhooks funciona correctamente.
  4. Servicio de geolocalización: confirma que el servicio de geolocalización configurado (como IpApiIs) está operativo.

Valores de estado

Las comprobaciones de estado informan de uno de los estados siguientes:

  • Healthy: el componente funciona con normalidad
  • Degraded: el componente está operativo, pero con funcionalidad o rendimiento reducidos
  • Unhealthy: el componente no funciona correctamente

Integración con sistemas de supervisión

El punto de acceso de la comprobación de estado se puede integrar con distintos sistemas de supervisión:

  • Equilibradores de carga: pueden usar la comprobación de estado para determinar si el servicio debe recibir tráfico
  • Orquestación de contenedores: plataformas como Kubernetes pueden usar el punto de acceso para los sondeos de preparación y de ejecución (readiness y liveness)
  • Herramientas de supervisión: sistemas como Prometheus, Nagios o Zabbix pueden consultar el punto de acceso periódicamente
  • Paneles personalizados: los paneles de supervisión personalizados pueden consumir el formato JSON

Prácticas recomendadas

  1. Supervisión periódica: configure su sistema de supervisión para que consulte el punto de acceso de estado a intervalos regulares.
  2. Alertas: configure alertas para cuando el servicio pase de Healthy a Degraded o Unhealthy.
  3. Elección del formato de respuesta: elija JSON para los sistemas automatizados y TEXT para los operadores humanos.
  4. Punto de acceso personalizado: en entornos de producción, valore cambiar el punto de acceso predeterminado por motivos de seguridad.
  5. Configuración del firewall: asegúrese de que su firewall permite acceder al punto de acceso de la comprobación de estado desde sus sistemas de supervisión.

La comprobación de estado es una herramienta esencial para mantener la fiabilidad y la estabilidad de su despliegue del Babel Licensing Service, ya que ofrece información en tiempo real sobre el funcionamiento del sistema y de sus componentes.

Last updated on