Configuration
L’analyse predictive se configure a trois endroits : les parametres du Webserver (une fois), chaque moniteur (un interrupteur) et le service de prediction (son environnement).
Parametres du Webserver
Parametres > fenetre des parametres du Webserver > Analyse predictive (administrateurs uniquement). Cet onglet a son propre bouton Enregistrer les parametres de prediction : le bouton Enregistrer principal de la fenetre ne l’inclut pas.
| Parametre | Description | Par defaut |
|---|---|---|
| URL de l’API de prediction | Adresse du service de prediction, https://hote:port. Vide : l’analyse predictive est desactivee. |
(vide) |
| Verifications a prevoir par defaut | Verifications prevues pour un moniteur qui n’en fixe pas, et fenetre de son risque de depassement. 20 au plus. | 5 |
| Certificat du service | Empreinte SHA-256 qui epingle le certificat du service : seul celui-ci est accepte, auto-signe ou non. Recuperer le certificat le lit sur le service. Vide : le certificat doit etre reconnu par l’hote du Webserver. Le badge indique le cas : Epingle ou Confiance systeme. | (vide) |
| Cle de signature du webserver | Son empreinte est affichee ; Copier la cle publique copie la cle a installer sur le service (PREDICTION_JWT_PUBLIC_KEY), Afficher la cle l’affiche, Renouveler la cle la remplace (voir plus bas). |
creee a la premiere utilisation |
| Reentrainer chaque modele | Chaque jour, chaque semaine, toutes les deux semaines, chaque mois, ou jamais. | chaque semaine |
| Entrainement manuel uniquement | Le Webserver ne demande jamais d’entrainement de lui-meme ; utilisez Entrainer maintenant dans le tableau des previsions. | desactive |
| Envoyer des alertes predictives | Envoyer les alertes de prevision et d’anomalie via les Integrateurs. | desactive |
| Alerter sur | Depassement prevu et anomalie, Depassement prevu ou Anomalie. | les deux |
| Anciens reglages, pour un service de prediction plus ancien | La cle d’API heritee, uniquement pour un service qui verifie encore PREDICTION_API_KEY (les requetes sont signees dans tous les cas), et une connexion InfluxDB fournie par ce webserver, uniquement pour un service lance avec PREDICTION_ALLOW_CLIENT_BACKEND=true. Laissez-les vides avec un service a jour. |
(vide) |
La carte en haut de l’onglet montre les quatre etapes de mise en place : l’URL est renseignee, le service repond, il accepte la signature de ce Webserver, et il lit InfluxDB. Sa couleur donne l’etat global (vert : les previsions tournent ; orange : une etape a corriger ; rouge : service injoignable), et la correction de la premiere etape en echec est ecrite dessous en Etape suivante. Tester la connexion reverifie les parametres enregistres et affiche la version du service, son nombre de modeles, sa file d’entrainement et sa latence. Une modification pas encore enregistree est signalee Modifications non enregistrees a cote de Enregistrer les parametres de prediction : enregistrez-la avant de tester.
Le tableau Previsions liste chaque moniteur dont la prediction est activee, une ligne par sonde. Des pastilles au-dessus comptent les moniteurs en prevision, en attente d’un modele, en erreur, sans controle recent, en anomalie et avec alertes de prevision. Filtrer les moniteurs le restreint, et il s’actualise de lui-meme tant que des modeles attendent leur entrainement. Quand un moniteur ne declenche pas d’alerte de prevision, la raison est ecrite sous sa prevision.
Parametres du moniteur
Dans le detail du moniteur, onglet Prediction (moniteurs URL, API, TCP, UDP, Ping, DNS, Base de donnees, Systeme et WebSocket) :
| Parametre | Description |
|---|---|
| Activer | Prevoir ce moniteur sur chaque sonde ou il s’execute. |
| Verifications a prevoir | Nombre de verifications a prevoir pour ce moniteur, 20 au plus, et fenetre de son risque de depassement. Vide : la valeur par defaut. |
| Nom de modele personnalise | Nom optionnel du modele sur le service. Vide : <type>_<cle du moniteur>, par exemple url_shop_probe1. A renseigner uniquement pour reutiliser un modele entraine a la main. |
| Alertes de prevision | Les alertes de prevision de ce moniteur : Par defaut, Active ou Desactive (voir ci-dessous). |
Les autres reglages s’appliquent une fois Activer allume : ils sont grises tant qu’il est eteint. A cote, l’encadre Etat de la prediction montre, pour chaque sonde, le modele, la derniere prevision avec son risque de depassement, et si les alertes de prevision partent, puis un graphique des dernieres verifications avec la prevision, ses intervalles a 80 % et 95 %, les seuils et une eventuelle anomalie, et la precision de la prevision sur ce moniteur (voir Fonctionnement). Les administrateurs y ouvrent les parametres d’analyse predictive.
Le statut prevu est le risque d’atteindre les seuils mineur / majeur / critique du moniteur (voir Risque de depassement) : un moniteur sans seuils n’a ni statut prevu ni alerte de prevision. Modifier un seuil ou le nombre de previsions reentraine le modele du moniteur, en quelques secondes. Les alertes predictives utilisent ses canaux de notification au changement de statut.
Alertes de prevision par moniteur
Le reglage Alertes de prevision d’un moniteur :
| Valeur | Alertes de prevision de ce moniteur |
|---|---|
| Par defaut | Suivent Envoyer des alertes predictives et Alerter sur. |
| Active | Envoyees, meme si Envoyer des alertes predictives est desactive ou si Alerter sur vaut Anomalie. Pour n’alerter que sur quelques moniteurs critiques. |
| Desactive | Jamais envoyees. La prevision et son risque restent visibles dans le tableau des previsions. |
Il ne concerne que les alertes de prevision (risque de depassement) : les alertes d’anomalie suivent toujours les parametres globaux, et une alerte de prevision n’est envoyee que si le risque de depassement du moniteur est fiable. Le changement est pris en compte en 10 minutes au plus (aussitot avec Lancer les predictions maintenant). Desactiver les alertes de prevision d’un moniteur leve une alerte de prevision en cours ; les activer alerte sur le niveau actuel des que deux previsions consecutives le confirment. La colonne Alertes de prevision du tableau des previsions montre le resultat pour chaque moniteur et chaque sonde, Par defaut (activees) ou Par defaut (desactivees) selon les parametres globaux actuels.
Comme les autres parametres de prediction, il fait partie de l’export CSV du moniteur, et un import le restaure.
Les moniteurs crees par un agent Sentinel se configurent sur l’agent.
Service de prediction
Le service se configure par variables d’environnement, dans un fichier .env a cote de api.exe, ou avec --env-file pour le conteneur.
| Variable | Description | Par defaut |
|---|---|---|
INFLUXDB_URL |
InfluxDB dans lequel ecrit l’Integrateur. Obligatoire. | |
INFLUXDB_TOKEN |
Jeton InfluxDB (la lecture suffit). | |
INFLUXDB_ORG, INFLUXDB_BUCKET |
Organisation et bucket InfluxDB v2. | |
INFLUXDB_DATABASE |
Base InfluxDB v3. | |
PREDICTION_TSDB |
influxdb (v2, Flux) ou influxdb3 (v3, SQL). |
influxdb3 si seule une base est renseignee, sinon influxdb |
PREDICTION_JWT_PUBLIC_KEY |
Fichier contenant la cle publique de signature du Webserver (plusieurs cles possibles). Relu quand il change. | |
PREDICTION_REQUIRE_JWT |
true : refuser la cle d’API heritee. |
false |
PREDICTION_API_KEY |
Cle partagee heritee. Laissez vide des que chaque Webserver signe ses requetes. | |
PREDICTION_SSL_KEY, PREDICTION_SSL_CERT |
Cle et certificat TLS. Sans eux le service repond en HTTP simple : gardez-le alors sur localhost. | private.key, certificate.crt |
API_HOST, API_PORT |
Adresse et port d’ecoute. | 0.0.0.0, 8000 |
PREDICTION_MODEL_DIR |
Dossier des modeles et de l’etat des entrainements. Dans le conteneur : le volume /models. |
dossier courant |
PREDICTION_LOOKBACK_DAYS |
Historique parcouru pour trouver les dernieres verifications d’une prevision. | 30 |
PREDICTION_MODEL_CACHE |
Modeles gardes en memoire. | 32 |
PREDICTION_ENGINE |
Modele des nouveaux entrainements : median (rapide, voir Fonctionnement) ou lstm (reseau de neurones, plusieurs minutes par moniteur). Les modeles existants gardent leur moteur jusqu’a leur prochain entrainement. |
median |
PREDICTION_RISK_MIN_PRECISION |
Part d’avertissements justes que le risque de depassement d’un moniteur doit atteindre sur son historique pour garder les alertes de prevision. Plus haut : moins de moniteurs, moins de faux avertissements. S’applique au prochain entrainement. | 0.5 |
PREDICTION_RISK_MIN_LIFT |
De combien le risque de depassement doit classer les depassements mieux que le hasard. S’applique au prochain entrainement. | 2 |
PREDICTION_TRAIN_TIMEOUT |
Secondes avant l’arret d’un entrainement. | 3600 |
PREDICTION_TRAIN_QUEUE_MAX |
Entrainements en attente avant de refuser les nouvelles demandes. | 100 |
PREDICTION_MAX_CONNECTIONS |
Connexions ouvertes acceptees avant que le service reponde 503. Les connexions keep-alive inactives comptent : en dessous d’environ 16, les 8 previsions paralleles du Webserver sont refusees de temps en temps. | 64 |
PREDICTION_SAVE_PREDICTIONS |
true ecrit chaque prevision dans <modele>_predictions.txt du dossier des modeles (une ecriture de fichier par prevision, lue par rien). |
false |
PREDICTION_DEBUG |
true ajoute un point d’entree de diagnostic, POST /debug/series. |
false |
PREDICTION_ALLOW_CLIENT_BACKEND |
true laisse les appelants envoyer leur propre connexion InfluxDB et leur requete. Dangereux : quiconque accede au service pourrait le faire se connecter n’importe ou. |
false |
InfluxDB 3 Core
--query-file-limit fichiers Parquet : 432 par defaut, environ 72 heures de donnees. A partir du service 1.5, l’historique est lu du plus recent au plus ancien, par tranches de temps dimensionnees pour rester sous cette limite : l’entrainement sur 280 jours et les previsions fonctionnent sans la relever. Un service anterieur a la 1.5 y echoue avec Query would scan 432 Parquet files, exceeding the file limit : mettez-le a jour.
Renouveler la cle de signature
- Renouveler la cle dans l’onglet Analyse predictive. Les requetes sont desormais signees avec la nouvelle cle.
- La zone de texte contient maintenant la nouvelle et l’ancienne cle publique. Copiez-la dans le fichier de cle du service : le service accepte l’une ou l’autre jusqu’a la prochaine modification du fichier.
- Tester la connexion affiche de nouveau Connecte. Tant que l’etape 2 n’est pas faite, il indique que le service refuse la signature de ce Webserver.
Dans un cluster de Webservers la cle est partagee : renouvelez-la une seule fois, depuis n’importe quel noeud.
API
Webserver (ADMIN, sur le port API, jeton administrateur) :
| Methode | Chemin | Description |
|---|---|---|
GET |
/predictions |
Toutes les previsions enregistrees, avec l’etat du modele et des alertes. ?monitor=<cle> pour un moniteur. |
GET |
/prediction/:type/:key |
La prevision d’un moniteur, par exemple /prediction/url/shop_probe1. |
POST |
/runPredictions |
Rafraichir la liste des moniteurs et prevoir chaque moniteur active maintenant. |
POST |
/trainPrediction |
Entrainer un moniteur maintenant : {"type":"url","key":"shop_probe1"}. |
GET / POST |
/predictionSettings / /updatePredictionSettings |
Lire (secrets masques) ou enregistrer les parametres. |
GET |
/predictionHealth |
Le meme test que Tester la connexion. |
GET |
/predictionPublicKey |
La ou les cles publiques de signature pour le service. |
POST |
/predictionRotateKey |
Renouveler la cle de signature. |
POST |
/predictionFetchCert |
Lire le certificat d’un service : {"url":"https://hote:8000"}. |
Service de prediction (requetes signees uniquement, sauf /health) :
| Methode | Chemin | Description |
|---|---|---|
GET |
/health |
Version, modeles, file d’entrainement, modes d’authentification. Sans identifiants, aucune donnee renvoyee. |
POST |
/predict |
Prevoir un moniteur. |
POST |
/train |
Mettre un entrainement en file. |
GET |
/models, /models/{name} |
Etats des modeles : untrained, queued, training, ready, failed. |
GET |
/jobs/{id} |
Un entrainement. |
DELETE |
/models/{name} |
Retirer un modele (deplace dans previous). |