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

InfluxDB 3 Core refuse toute requete qui lirait plus de --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

  1. Renouveler la cle dans l’onglet Analyse predictive. Les requetes sont desormais signees avec la nouvelle cle.
  2. 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.
  3. 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).

Traductions