Fonctionnement
Trois composants interviennent : l’Integrateur enregistre chaque verification dans InfluxDB, le service de prediction apprend le comportement de chaque moniteur a partir de cet historique, et le Webserver demande les previsions, en deduit un statut prevu et decide quand alerter.
Les composants
| Composant | Role |
|---|---|
| Sonde | Execute le moniteur, comme d’habitude. Porte la definition du moniteur, y compris son interrupteur Activer la prediction. |
| Integrateur | Ecrit chaque resultat de verification dans InfluxDB (mesure <type>ResponseTime, tag name = <type>_<cle du moniteur>). Distribue les alertes predictives. |
| InfluxDB | L’historique dont les modeles apprennent. Version 2 (Flux) ou 3 (SQL). |
| Service de prediction | Entraine un modele par moniteur et par sonde, et repond aux previsions. Lit InfluxDB avec ses propres identifiants. |
| Webserver | Trouve les moniteurs dont la prediction est activee, demande les previsions a leur rythme, decide du statut prevu, commande les entrainements, envoie les alertes, affiche les resultats. |
Sonde ──verification──▶ Integrateur ──▶ InfluxDB ◀──lit── Service de prediction
▲ ▲
│ alertes predictives │ HTTPS signe (prevision, entrainement)
└───────────────── Webserver ──────┘
Une prevision, etape par etape
- Le Webserver lit les definitions des moniteurs sur chaque sonde et garde celles dont la prediction est activee (rafraichi toutes les 10 minutes, ou aussitot avec Lancer les predictions maintenant).
- Au rythme propre du moniteur (chaque minute pour un moniteur a 1 minute), il demande une prevision au service.
- Le service lit les dernieres verifications du moniteur dans InfluxDB, sans les verifications en echec (
ERROR,TIMEOUT,UNKNOWN,CONFIG,DOWNTIME) : un timeout ne dit rien du temps de reponse. - Le modele prevoit les prochaines verifications : 5 par defaut, ou le nombre de previsions propre au moniteur (50 au plus), avec un intervalle a 80 % et a 95 % autour d’elles (voir Intervalles de prevision).
- Le service donne aussi le risque de depassement : pour chaque seuil du moniteur, la probabilite qu’une de ces prochaines verifications l’atteigne. Le niveau le plus haut dont le risque passe le seuil de declenchement propre au moniteur est le statut prevu (
OK,MINOR,MAJORouCRITICAL). Quand l’historique du moniteur n’annonce pas ses depassements, il n’y a ni statut prevu ni alerte de prevision : voir Risque de depassement. - Le service note aussi la derniere verification : il la compare a ce que le modele attendait pour elle, d’apres les verifications precedentes. Trois ecarts-types ou plus de l’erreur habituelle du modele : c’est une anomalie.
- La reponse indique quand la verification la plus recente a eu lieu. Si elle date de plus de trois periodes du moniteur (15 minutes au moins), la prevision n’est pas a jour : elle n’a pas de statut prevu et ne declenche ni ne leve aucune alerte (voir Fraicheur des donnees).
Le resultat est enregistre et affiche dans le tableau Previsions et, avec un graphique, dans l’onglet Prediction du moniteur. Le statut du moniteur, ses evenements, ses rapports et son SLA ne sont jamais modifies par une prevision.
Le modele
Chaque moniteur sur chaque sonde a son propre modele, car un moniteur se comporte differemment selon l’endroit d’ou il est verifie.
| Element | Valeur |
|---|---|
| Prevision | La mediane des 60 dernieres verifications, pour chacune des verifications suivantes. Une verification lente isolee la deplace a peine. |
| Anomalie | La derniere verification comparee a la mediane des 60 precedentes, rapportee a l’ecart habituel de ce moniteur |
| Risque de depassement | La probabilite qu’une des prochaines verifications atteigne chaque seuil, apprise sur l’historique propre du moniteur (voir Risque de depassement) |
| Intervalles de prevision | La dispersion des erreurs passees de la mediane a chaque pas, pour ce moniteur (voir Intervalles de prevision) |
| Entrainement | Mesure cet ecart habituel sur jusqu’a 2 000 verifications recentes. Prend quelques secondes et demande au moins 90 verifications reussies. |
| Donnees d’entrainement | Jusqu’a 280 jours d’historique (les 50 000 dernieres verifications au plus), sans les verifications en echec. Avec InfluxDB 3, il est lu par tranches de temps : la limite de 72 heures par requete d’InfluxDB 3 Core n’est jamais atteinte. |
| Qualite | Chaque modele enregistre son erreur a un pas et l’erreur obtenue en repetant simplement la derniere verification, sur les memes verifications (colonne Entraine du tableau des previsions, et onglet Prediction du moniteur) |
Pourquoi une mediane et pas un reseau de neurones
Les versions precedentes utilisaient un reseau de neurones (convolution + couches LSTM). Il a ete compare a des previsions statistiques simples sur l’historique reel des temps de reponse de moniteurs de tous types (API, URL, BD, DNS, ping, TCP, WebSocket) :
| Modele | Erreur sur les 5 verifications suivantes (1 = repeter la derniere verification) | Temps d’entrainement par moniteur |
|---|---|---|
| Mediane des 60 dernieres verifications | 0,75 | environ une seconde |
| Lissage exponentiel | 0,84 | environ une seconde |
| Reseau de neurones (LSTM) | 1,05 | environ 11 minutes |
Sur ces moniteurs, le reseau de neurones n’a jamais ete plus precis que la mediane. Sur un ensemble plus large de 65 moniteurs, la mediane a fait mieux que la repetition de la derniere verification sur 98 % d’entre eux (erreur 0,73).
Mesure a nouveau en novembre 2026 sur un autre ensemble, 81 moniteurs d’une installation de demonstration (60 jours de verifications, chaque statistique ajustee sur la premiere moitie de l’historique d’un moniteur et jugee sur la seconde uniquement) : erreur 0,73 de la repetition de la derniere verification (mediane sur les moniteurs), meilleure sur 97,5 % d’entre eux ; la moyenne des 60 dernieres verifications obtient 0,90.
Un temps de reponse est surtout du bruit autour d’un niveau qui change de temps en temps : un reseau de neurones a peu de motifs a apprendre, et la mediane est la prevision qui reagit le moins au bruit.
Ce que detecte la detection d’anomalies
Une anomalie est une verification a trois ecarts-types ou plus de ce que le modele attendait. Dans la mesure de novembre 2026, 3,4 % des verifications ordinaires ont ete signalees (mediane sur les moniteurs), et un pic isole de +50 % du niveau du moniteur l’a ete 45 % du temps : les grands pics sont detectes, les pics moderes souvent non. Une alerte d’anomalie demande deux previsions consecutives signalees : une verification lente isolee n’alerte personne.
Le reseau de neurones reste disponible : PREDICTION_ENGINE=lstm sur le service de prediction (voir Configuration). Chaque modele garde le moteur avec lequel il a ete entraine jusqu’a son prochain entrainement. Un modele LSTM n’a ni risque de depassement ni intervalles de prevision : son statut prevu compare les valeurs prevues aux seuils.
Intervalles de prevision
La mediane est une valeur unique. L’ecart possible des verifications autour d’elle est montre par deux intervalles :
| Intervalle | Signification |
|---|---|
| 80 % | La ou 8 verifications sur 10 sont tombees, a ce pas, sur l’historique recent de ce moniteur |
| 95 % | La ou 19 verifications sur 20 sont tombees |
Ils viennent des erreurs propres de la mediane sur le moniteur (jusqu’a 2 000 verifications recentes), mesurees separement pour chaque pas : ils s’elargissent avec l’horizon et ne sont pas symetriques. Un temps de reponse monte brutalement bien plus souvent qu’il ne baisse : la borne haute est en general bien plus loin de la prevision que la borne basse.
A l’entrainement, le service verifie aussi honnetement ces intervalles : calcules sur les 70 % les plus anciens de ces erreurs, combien des 30 % les plus recentes y sont tombees ? Cette part est affichee dans l’onglet Prediction du moniteur (l’intervalle a 80 % a contenu 81 % des controles recents). Sous 70 %, l’onglet signale que le comportement du moniteur a change et que l’intervalle est trop etroit jusqu’au prochain entrainement.
Dans la mesure de novembre 2026 sur 81 moniteurs, l’intervalle a 80 % a contenu 77 % des verifications suivantes (mediane ; 64 % ou moins pour un moniteur sur dix) et celui a 95 % 91 %. Lisez-les comme un ordre de grandeur de la dispersion habituelle, pas comme une garantie : un moniteur dont le comportement change les rend trop etroits jusqu’a son reentrainement (chaque semaine par defaut).
Une precision verifiable
L’onglet Prediction du moniteur donne deux mesures, toutes deux face a la prevision la plus simple, la prochaine verification ressemblera a la derniere :
| Mesure | Origine |
|---|---|
| Mesure sur l’historique de ce moniteur | A l’entrainement : l’erreur typique a un pas de la prevision, et de combien elle est inferieure a la repetition de la derniere verification. Pas meilleur que la repetition du dernier controle signifie que la prevision n’apporte rien sur ce moniteur. |
| Depuis | Apres l’entrainement, le Webserver compare chaque prevision a la verification qui l’a reellement suivie, avec l’erreur de la repetition de la derniere verification sur les memes verifications, et la part de verifications tombees dans l’intervalle a 80 %. Pondere vers les ~200 dernieres previsions. |
Fraicheur des donnees
Une prevision n’est pas plus a jour que les verifications dont elle est tiree. Si la verification la plus recente trouvee par le service date de plus de trois periodes du moniteur (15 minutes au moins), le Webserver marque la prevision pas a jour : Aucun nouveau controle depuis …. Elle n’a alors pas de statut prevu, ne declenche aucune alerte et n’en leve aucune. Cela arrive quand le moniteur est arrete, que la sonde est hors service ou que l’Integrateur n’ecrit plus dans InfluxDB.
Risque de depassement
Une prevision plate ne franchit presque jamais un seuil avant les verifications elles-memes. Sur un historique reel, comparer les valeurs prevues aux seuils n’a annonce qu’environ 1 % des depassements avant leur debut. Le statut prevu vient donc d’un risque de depassement.
A l’entrainement, le service parcourt l’historique du moniteur a chaque instant ou il etait encore sous son seuil le plus bas, et apprend comment la probabilite d’un depassement dans les prochaines verifications depend de :
- la position de la mediane recente et de la derniere verification par rapport au seuil,
- la plus haute des 5 dernieres verifications,
- la frequence a laquelle le seuil a ete atteint sur les 60 et les 600 dernieres verifications,
- la variabilite des verifications.
Il rejoue ensuite ce calcul sur les 30 % les plus recents de l’historique, dont il n’a pas appris, et ne garde les alertes de prevision que si, sur cette periode :
| Condition | Reglage du service |
|---|---|
| Au moins 10 depassements ont commence, pour pouvoir juger les avertissements | |
| Le risque a classe les depassements au moins 2 fois mieux que le hasard | PREDICTION_RISK_MIN_LIFT |
| Au moins la moitie des avertissements etaient justes, sur des verifications ou le niveau de risque n’a pas ete choisi, avec au moins 5 avertissements | PREDICTION_RISK_MIN_PRECISION |
Le niveau de risque est choisi la ou les avertissements etaient justes au moins 60 % du temps (le plancher plus 10 points), sur une moitie de la periode rejouee, puis compte sur l’autre moitie, et inversement. Choisir et juger sur les memes verifications flatte le resultat : sur des series de test, un niveau choisi au plancher de 50 % ne s’est revele juste que 33 % a 40 % du temps sur les verifications suivantes. La precision et la part de depassements annonces affichees par le tableau des previsions sont celles de ce controle croise.
Ce niveau de risque devient le seuil de declenchement du moniteur : un niveau est prevu quand le risque de l’atteindre le depasse. Le tableau des previsions affiche le risque ; le survol indique la part d’avertissements justes sur l’historique de ce moniteur.
A quoi s’attendre
Mesure avec le service 1.4 sur les 65 moniteurs du banc d’essai, chacun avec son seuil a son propre 95e centile, sur un historique tenu a l’ecart de l’entrainement. Le service 1.5 juge plus strictement (ci-dessus) : attendez-vous a des alertes de prevision sur moins de moniteurs, avec des chiffres de precision plus fiables. Les chiffres de la version 1.5 n’ont pas ete mesures a nouveau sur de longs historiques reels : l’installation de demonstration de novembre 2026 n’avait que quelques semaines de verifications par moniteur, trop peu pour juger un risque de depassement.
| Valeurs prevues vs seuils (avant) | Risque de depassement | |
|---|---|---|
| Moniteurs avec alertes de prevision | tous | 14 sur 65 |
| Avertissements justes | 25 % | 55 % |
| Depassements annonces avant leur debut, sur ces 14 moniteurs | 2 % | 30 % |
Sur les autres moniteurs, les depassements sont arrives sans signe avant-coureur dans les temps de reponse : panne soudaine, dependance, reseau. Les alertes de prevision restent desactivees pour eux et le tableau des previsions en donne la raison ; la detection d’anomalies, qui reagit a la verification elle-meme, continue de fonctionner.
Un depassement prevu est un risque, pas une certitude : environ un avertissement sur deux est suivi d’un depassement dans l’horizon de prevision.
| Sous la prevision, le tableau des previsions affiche | Signification |
|---|---|
| Pas d’alerte de prevision : aucun seuil defini | Aucun seuil mineur / majeur / critique n’est defini. |
| Pas d’alerte de prevision : pas encore assez d’historique | Moins d’environ 1 000 verifications reussies. |
| Pas d’alerte de prevision : trop peu de depassements passes | Moins de 10 depassements dans la partie de l’historique qui sert a juger. |
| Pas d’alerte de prevision : les depassements arrivent sans signe avant-coureur | Le risque a classe les depassements moins de 2 fois mieux que le hasard. |
| Pas d’alerte de prevision : avertissements trop souvent faux | Verifie sur un historique ou le niveau de risque n’a pas ete choisi, moins de la moitie des avertissements etaient justes, ou il y avait moins de 5 avertissements a juger. |
| Alertes de prevision suspendues : reentrainement | Les seuils ou le nombre de previsions ont change depuis l’entrainement. Le modele se reentraine en quelques secondes. |
Entrainement
Rien a lancer a la main. Le Webserver demande un entrainement au service :
| Quand | Pourquoi |
|---|---|
| Un moniteur dont la prediction est activee n’a pas de modele | Premier entrainement. Demande aussitot, puis au plus une fois par heure jusqu’a ce qu’il reussisse. |
| Un entrainement a echoue | Relance apres 24 heures (par exemple un nouveau moniteur sans assez d’historique). |
| Un modele est plus ancien que la periode de reentrainement | Chaque semaine par defaut : le comportement d’un moniteur evolue. |
| Les seuils ou le nombre de previsions du moniteur ont change | Le risque de depassement a ete juge pour les anciens. Demande a la prevision suivante ; prend quelques secondes. |
| Un modele a ete entraine par un service anterieur a la 1.5 | Une fois, pour ajouter ses intervalles de prevision. |
| Vous cliquez sur Entrainer maintenant | Immediatement, quel que soit le calendrier. |
Le service entraine un modele a la fois, dans un processus separe, et ne remplace un modele que lorsque le nouveau est complet : les previsions continuent avec l’ancien pendant ce temps. Le modele precedent est conserve dans le dossier previous du service.
Avec Entrainement manuel uniquement, le Webserver ne demande jamais d’entrainement de lui-meme ; utilisez Entrainer maintenant.
Alertes predictives
Quand Envoyer des alertes predictives est active, le Webserver suit le statut prevu et l’indicateur d’anomalie de chaque moniteur :
- Une alerte part quand un nouvel etat est vu sur deux previsions consecutives. Une prevision isolee n’alerte personne.
- Un retour a la normale part quand l’etat redevient OK, selon la meme regle.
- Les alertes de prevision et d’anomalie sont suivies separement. Alerter sur choisit lesquelles partent, et le reglage Alertes de prevision de chaque moniteur (onglet Prediction du moniteur) peut le remplacer pour les alertes de prevision (voir Configuration).
- Les alertes de prevision ne partent que pour les moniteurs dont le risque de depassement s’est montre fiable sur leur historique. Le message donne le risque et la part d’avertissements justes sur ce moniteur. Quand les alertes de prevision d’un moniteur sont suspendues (seuils modifies), une alerte de prevision en cours est levee.
- Les alertes utilisent les canaux au changement de statut du moniteur (email, Slack, Teams, PagerDuty, script), distribuees par les Integrateurs. Un moniteur sans canal de ce type ne recoit pas d’alerte predictive.
- Elles sont clairement signalees : le moniteur est nomme
<moniteur> (forecast)et le message commence par Forecast: ou Anomaly:. Elles ont leur propre incident PagerDuty, distinct de celui du moniteur. - L’Integrateur ne fait que notifier : une alerte predictive n’atteint jamais InfluxDB, les connecteurs ITSM ni la page Evenements.
Securite
| Sujet | Traitement |
|---|---|
| Qui peut appeler le service | Chaque requete porte un jeton signe par le Webserver, valable 5 minutes. Le service ne detient que la cle publique. La cle de signature ne sert a rien d’autre : elle ne peut pas ouvrir de session sur le Webserver. |
| Parler au bon service | Le certificat du service est epingle par son empreinte SHA-256, ou doit etre reconnu par l’hote du Webserver. |
| Identifiants InfluxDB | Uniquement sur le service de prediction. Le Webserver n’en envoie jamais. |
| Ce que le service peut interroger | Uniquement la serie du moniteur qu’on lui nomme, avec une requete qu’il construit lui-meme. Il ne peut pas servir a interroger autre chose. |
| Qui voit quelles previsions | Un utilisateur restreint a certains tags voit les previsions des moniteurs portant l’un d’eux, comme sur les sondes. |
Haute disponibilite
Dans un cluster de Webservers, seul le Webserver actif lance les previsions, les demandes d’entrainement et les alertes. La cle de signature est partagee par tous les noeuds : une bascule ne demande aucun changement sur le service de prediction.