Skip to Content
Nouvelle version 12 disponible 🎉
LicensingBabel Licensing ServiceVérification de l’état

Vérification de l’état

La fonctionnalité de vérification de l’état du Babel Licensing Service fournit un mécanisme complet pour surveiller la santé et l’état opérationnel du service et de ses composants. Elle est essentielle pour assurer la fiabilité du système, faciliter le dépannage et permettre l’intégration avec les outils de surveillance de l’infrastructure.

Configuration

Le comportement de la vérification de l’état se configure dans la section Application du fichier appsettings.json :

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

HealthCheckEndPoint

Ce paramètre indique le chemin d’URL auquel le point de terminaison de vérification de l’état est accessible. La valeur par défaut est /health.

Exemple : si votre service s’exécute à l’adresse https://licensing.example.com et que HealthCheckEndPoint est réglé sur /health, l’URL complète de vérification de l’état est https://licensing.example.com/health.

HealthCheckResponseType

Ce paramètre détermine le format de la réponse de la vérification de l’état. Deux formats sont pris en charge :

  • JSON : renvoie une réponse JSON structurée (valeur par défaut)
  • TEXT : renvoie une réponse en texte brut, lisible par un humain

Format de réponse JSON

Lorsque HealthCheckResponseType est réglé sur "JSON", le point de terminaison de vérification de l’état produit une réponse JSON structurée comme celle-ci :

{ "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" } ] }

Ce format est idéal pour :

  • les systèmes de surveillance automatisés
  • l’intégration avec des plateformes d’orchestration comme Kubernetes
  • l’évaluation de l’état par programmation
  • les outils de surveillance tiers capables d’analyser des données JSON

Format de réponse TEXT

Lorsque HealthCheckResponseType est réglé sur "TEXT", le point de terminaison de vérification de l’état produit un format lisible par un humain :

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)

Ce format convient mieux pour :

  • l’inspection manuelle par les administrateurs système
  • les outils en ligne de commande et les vérifications d’état simples
  • les situations où la réponse doit être facile à lire sans analyse supplémentaire
  • les entrées de fichier journal et la sortie de la console

Composants de la vérification de l’état

La vérification de l’état du Babel Licensing Service surveille plusieurs composants critiques :

  1. État du service : fournit des informations sur le service principal, notamment l’heure du serveur, l’édition de la licence, les jetons actifs et le nombre maximal de jetons autorisé.
  2. État de la base de données : vérifie la connectivité et l’état opérationnel de la base de données.
  3. Processeur de webhooks : vérifie que le système de traitement des webhooks fonctionne correctement.
  4. Service de géolocalisation : confirme que le service de géolocalisation configuré (comme IpApiIs) est opérationnel.

Valeurs d’état

Les vérifications de l’état signalent l’un des états suivants :

  • Healthy : le composant fonctionne normalement
  • Degraded : le composant est opérationnel, mais avec des fonctionnalités ou des performances réduites
  • Unhealthy : le composant ne fonctionne pas correctement

Intégration avec les systèmes de surveillance

Le point de terminaison de vérification de l’état peut être intégré à différents systèmes de surveillance :

  • Équilibreurs de charge : ils peuvent utiliser la vérification de l’état pour déterminer si le service doit recevoir du trafic
  • Orchestration de conteneurs : des plateformes comme Kubernetes peuvent utiliser le point de terminaison pour les sondes de préparation (readiness) et d’activité (liveness)
  • Outils de surveillance : des systèmes comme Prometheus, Nagios ou Zabbix peuvent interroger régulièrement le point de terminaison
  • Tableaux de bord personnalisés : le format JSON peut être exploité par des tableaux de bord de surveillance personnalisés

Bonnes pratiques

  1. Surveillance régulière : configurez votre système de surveillance pour qu’il interroge à intervalles réguliers le point de terminaison de vérification de l’état.
  2. Alertes : configurez des alertes pour le cas où le service passe de Healthy à Degraded ou à Unhealthy.
  3. Choix du format de réponse : choisissez JSON pour les systèmes automatisés et TEXT pour les opérateurs humains.
  4. Point de terminaison personnalisé : envisagez de modifier le point de terminaison par défaut pour des raisons de sécurité dans les environnements de production.
  5. Configuration du pare-feu : vérifiez que votre pare-feu autorise vos systèmes de surveillance à accéder au point de terminaison de vérification de l’état.

La vérification de l’état est un outil essentiel pour maintenir la fiabilité et la stabilité de votre déploiement du Babel Licensing Service : elle fournit en temps réel des informations sur l’état opérationnel du système et de ses composants.

Last updated on