Aller au contenu principal

Supervision et alertes

Ce que surveille navin-manager​

PortéeDéfinitionCondition (seuils par défaut avertissement / critique)
Hôtehost_heartbeat_lostAucun signal depuis 60 / 120 secondes. Résolue dès que l'agent envoie à nouveau un signal.
Hôtehost_disk_usageSystème de fichiers le plus rempli parmi la racine et les répertoires Navin (/etc/navin, /opt/navin, /var/lib/navin, /var/log/navin) à 80 / 90 pour cent. Les autres montages restent visibles dans les métriques de l'hôte.
Hôtehost_memory_usageMémoire utilisée à 85 / 95 pour cent.
Hôtehost_loadCharge sur 5 minutes divisée par le nombre de CPU à 1,5 / 3.
Hôtehost_preflight_failedUn contrôle préalable de l'hôte a échoué.
Hôteagent_version_mismatchLa version de l'agent diffère de celle du serveur.
Composantcomponent_downUn composant qui doit tourner ne tourne pas.
Composantcomponent_healthLes contrôles de santé d'un composant démarré échouent.
Composantconfig_staleLa configuration a changé et le composant tourne encore avec la précédente.
Clustercertificate_expiryUn certificat émis par la console expire dans 30 / 7 jours.
Clusteroperation_failedUne opération du cluster a échoué au cours des dernières 24 heures.
Consolemanager_engine_lagDernier passage du moteur d'opérations il y a 30 / 120 secondes.
Consolemanager_databaseAller-retour vers la base de la console de 200 / 1000 millisecondes.

Chaque définition peut être désactivée, et ses seuils et son intervalle modifiés, dans Alertes, Définitions. Une alerte conserve son historique (changements d'état avec la valeur mesurée), peut être acquittée avec une note et se résout d'elle-même quand la condition disparaît. Les hôtes en maintenance ne déclenchent aucune alerte.

Notifications​

Alertes, Destinataires envoie les alertes qui atteignent la sévérité minimale d'un destinataire :

TypeDétails
CourrielSMTP de Administration, Réglages (STARTTLS et authentification pris en charge).
WebhookPOST HTTPS avec l'en-tête X-NM-Signature: t=<unix>,v1=<hex>, où v1 est le HMAC-SHA256 de <t>.<corps> avec le secret du destinataire. Refusez un horodatage de plus de 5 minutes.
SyslogMessages RFC 5424 en UDP, TCP ou TLS vers le syslog de Administration, Réglages (le SIEM de la banque).

Les envois en échec sont retentés, puis marqués en échec après 5 tentatives. Tester envoie une notification de test.

Auto-supervision de la console​

Système affiche la santé de la console : latence de la base, retard du moteur d'opérations, tâches en attente, agents connectés et perdus, dernière exécution et dernière erreur de chaque tâche périodique. Les mêmes données sont servies par GET /api/v1/system/health (permission system:read).

GET /metrics sert les métriques Prometheus. Il exige Authorization: Bearer <NM_METRICS_TOKEN> ; en production, le jeton est obligatoire.

MétriqueÉtiquettesSignification
nm_build_infoversionVersion de la console.
nm_hostscluster, stateHôtes par cluster et par état.
nm_host_componentsstateInstances de composants par état.
nm_operationsstatusOpérations par état.
nm_tasks_queuedTâches en attente d'un agent.
nm_alertsseverityAlertes ouvertes par sévérité.
nm_engine_lag_secondsSecondes depuis le dernier passage du moteur d'opérations.
nm_database_latency_msAller-retour vers la base de la console.
nm_scheduler_job_errorsjob1 quand la dernière exécution d'une tâche périodique a échoué.
nm_agents_onlineAgents qui ont envoyé un signal pendant la dernière minute.

La disponibilité du processus se lit sur GET /readyz (base joignable) et sa vivacité sur GET /healthz.

Supervision de la plateforme gérée​

Le catalogue contient une chaîne d'observabilité complète que navin-manager installe comme n'importe quel service : Prometheus, Alertmanager, OpenSearch, OpenSearch Dashboards, Jaeger, Opik, Alloy, l'OpenTelemetry Collector et les exportateurs (nœud, Redis, PostgreSQL, blackbox). La plateforme ne livre pas de serveur de tableaux de bord (ADR-0169) : les machines et les services se suivent dans la console elle-même (onglet de supervision des services avec son historique en base, métriques des machines, export de télémétrie vers ClickHouse), les journaux dans OpenSearch Dashboards, les traces dans Jaeger et Opik, les métriques et les alertes dans Prometheus et Alertmanager, dont les règles d'alerte et d'enregistrement restent en place. Un Grafana déjà exploité par le client peut toujours être branché sur ces sources ; la plateforme ne le déploie jamais (licence AGPL, ADR-0101).

Prometheus découvre les composants à interroger auprès de la console : GET /api/v1/clusters/<id du cluster>/sd/prometheus renvoie un groupe de cibles par instance de composant qui expose des métriques, avec les étiquettes nm_cluster, nm_service, nm_component et nm_host. Le service Prometheus du catalogue configure cette découverte avec un jeton d'API stocké dans un fichier de mode 0640 : créez un jeton restreint à cluster:read dans Profil, Jetons d'API et donnez-le au paramètre du service Prometheus.

Alloy envoie le journal des unités navin-* et les fichiers de /var/log/navin en OTLP au collecteur OpenTelemetry, qui les écrit dans OpenSearch, où OpenSearch Dashboards les lit.