Articles techniques et exemples de code

Portal Checker

Dashboard temps réel pour monitorer les endpoints Kubernetes.

31 December 2024
kubernetesmonitoringpython

Portal Checker Dashboard

J’ai 200 Ingress et HTTPRoutes dans mon cluster. Lequel est cassé ? Quel certificat expire bientôt ? Où sont exposées des APIs Swagger sans auth ?

Impossible de répondre sans ouvrir chaque ressource une par une. kubectl get ingress donne les URLs, pas leur état de santé.

Portal Checker résout ça. Il découvre automatiquement tous les Ingress et HTTPRoutes, teste leur disponibilité en parallèle, et affiche un dashboard avec l’essentiel : status, latence, expiration SSL, APIs exposées.

Ce qu’il fait

Le dashboard affiche pour chaque endpoint :

  • Status HTTP et temps de réponse
  • Expiration du certificat SSL (couleur selon l’urgence)
  • Détection automatique des endpoints Swagger/OpenAPI
  • Analyse de sécurité : PII exposés, tokens dans les schémas

Les checks tournent en background toutes les 30 secondes. Le cache évite de surcharger les endpoints.

Installation

1
2
3
helm install portal-checker helm/ --namespace monitoring --create-namespace

kubectl port-forward svc/portal-checker 8080:80 -n monitoring

Le dashboard est accessible sur http://localhost:8080.

Configuration

Variables d’environnement principales :

  • REQUEST_TIMEOUT : timeout HTTP (défaut 10s)
  • MAX_CONCURRENT_REQUESTS : checks parallèles (défaut 10)
  • CHECK_INTERVAL : fréquence des tests (défaut 30s)
  • ENABLE_AUTOSWAGGER : détection des APIs (défaut true)

Pour exclure des URLs :

1
2
3
excludedUrls:
  - "monitoring.*"
  - "*.internal/*"

API

Endpoint Description
/api/test Lance les health checks
/api/refresh Force la redécouverte des ressources
/api/swagger Résultats de la détection Swagger

Code source

Le projet est open source sur GitHub.