Vérifier l'installation
Cette page liste les contrôles à lancer après une installation ou une mise à niveau, de la santé de l'API jusqu'à la chaîne d'audit. Lancez-les dans cet ordre : un contrôle dépend de ceux qui le précèdent.
Contrôles
| Contrôle | Commande | Résultat attendu |
|---|---|---|
| API vivante | curl -fsS <url-api>/healthz | {"status": "ok", "version": "1.0.0"} |
| API prête | curl -fsS <url-api>/readyz | 200, "status": "ready", checks.database et checks.migrations à true ; redis donne l'état du cache sans rendre l'API non prête |
| Migrations | navin-platform status (paquets) ou python -m eai.migrate --status | Chaque version applied, aucune pending, changed ou unknown |
| Barrière de migration | navin-platform-db check ou python -m eai.migrate --check | Code de sortie 0 |
| Réglages de production | navin-platform check (paquets) | navin-platform check: ok |
| Services (paquets) | systemctl status navin-platform.target | API, worker et portail active (running) |
| Pods (Kubernetes) | kubectl -n enterprise-ai get pods | Control Plane, worker, portail, LiteLLM Running ; Job de migration Completed |
| Portail | ouvrir <url-portail> | Page de connexion ; GET /api/health du portail répond |
| Métriques | curl -fsS -H "Authorization: Bearer <jeton-metriques>" <url-api>/metrics | Texte Prometheus avec eai_http_requests_total |
| Worker | curl -fsS http://127.0.0.1:9464/metrics sur l'hôte ou le pod du worker | eai_worker_last_tick_timestamp_seconds récent |
| Chaîne d'audit | curl -fsS -H "Authorization: Bearer <jeton>" <url-api>/v1/audit/verify | La chaîne du tenant est valide |
| Identité | curl -fsS -H "Authorization: Bearer <jeton>" <url-api>/v1/identity/whoami | Sujet, tenant et rôles |
| Licence | curl -fsS -H "Authorization: Bearer <jeton>" <url-api>/v1/license | État de la licence |
<url-api> : URL publique de l'API (<control-plane-url>, ou http://127.0.0.1:8080 sur l'hôte).
<jeton-metriques> : EAI_METRICS_TOKEN. <jeton> : jeton d'un administrateur
(Première configuration).
Contrôles Kubernetes hors ligne
Avant une synchronisation, contrôlez les manifestes rendus sans cluster :
helm lint deploy/helm/enterprise-ai -f deploy/helm/enterprise-ai/values-prod.yaml
helm template eai deploy/helm/enterprise-ai -n enterprise-ai -f deploy/helm/enterprise-ai/values-prod.yaml > /tmp/eai.yaml
kubeconform -strict -summary /tmp/eai.yaml
Les politiques d'admission se contrôlent avec Kyverno et un KUBECONFIG vide, voir le
Manuel d'installation client.
Alertes
Après quinze minutes, aucune alerte de la PrometheusRule eai-slo-cost ni du chart ne doit se déclencher. Le sens de
chaque alerte et son runbook : Alertes et Runbooks.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
/readyz répond 503 avec database: false | Base injoignable | Vérifiez EAI_DATABASE_URL (ou EAI_RUNTIME_DATABASE_URL), le réseau et TLS |
/readyz répond 503 avec migrations: false | Schéma vide | Lancez les migrations (navin-platform-db migrate, Job de migration) |
/metrics répond 401 | Jeton absent ou erroné | Utilisez EAI_METRICS_TOKEN |
| Métrique du worker absente | Worker arrêté, ou EAI_WORKER_METRICS_PORT=0 | Runbook worker-down |