~27/02/2008~ Version 0.8rc2 Bug : Les scanneurs ne donnaient pas le débit. Cela venait d'une mauvaise utilisation de la lib SNMP. J'ai retrouvé l'ancienne lib SNMP (Net::SNMP). J'utilise à nouveau celle-ci : recodage de SurvScan.pl en conséquence. Historique.txt se remplit trop vite lorsqu'on supervise beaucoup de machine. Dans Historique.pm, on n'écrit dans le fichier que les éléments qui ont changé d'état ou dont on relève de compteurs. Du coup, plus besoin de fichier AlarmDer.txt (qui n'était plus utilisé). Dans AlarmeChgt.pm, on écrivait le résultat dans un fichier. Cela a été supprimé étant donné que maintenant cela est stocké dans Historique.txt. En revanche, la génération de la page html pour SurvAffich.pl est gardée. Modification de la structure de la base de données. Ajout d'un champ dans Elements et dans AncienEnreg. Modification de GeneBD.sh en conséquence. Cf raisons ligne suivante pour la table Elements. Modification de SurvScan.pl et AlarmeChgt.pm : une fois qu'une alarme est traitée, cela est maintenant marqué en mettant 1 à Elem_Alm. Ainsi, si on acquite les alarmes (donc qu'on enlève les enregistrements de la table LastAlrm) et que SurvScan n'a pas fait un nouveau cycle mais que SurvAffich en fait un, alors on ne remonte pas une seconde fois ces alarmes. Cependant, après un changement d'état d'un élement, si SurvScan réalise 2 cycles avant que SurvAffich en fasse un, alors quand SurvAffich fera son cycle, il ne verra pas le changement d'état. Si cela se produit c'est que le scan est trop rapide ou le SurvAffich trop lent ... Je n'implémente donc pas une lourde protection pour ça. ~25/02/2008~ Version 0.8rc1 Débuts des tests. ~22/02/2008~ Version 0.8 béta 5 Correction d'un bug de performance dans AlarmeChgt.pm. Modification mineure dans Acquit.pl. Quelques modifications dans SurvScan.pl. Test de performance : c'est le navigateur web et la base de données qui consomment le plus. Le navigateur est d'autant plus gourmand qu'il doit afficher de nombreux matériels en alertes. Les autres modules ont des consommations CPU et RAM assez faibles. start.sh modifié en conséquence. Arborescence.pm : Le dessin de l'arborescence dans le .txt est plus joli : ca ressemble plus à une arborescence qu'à une liste maintenant. Un fichier .dot est également généré. Ce fichier permet de créer un graphique avec le logiciel graphviz. ~20/02/2008~ Version 0.8 béta 4 Tout ce qui est scan est maintenant fait par un seul et unique module. L'utilisation de threads permet de réaliser 4 scans en parrallèle. Plus de verrou entre les scanneurs. Les résultats sont maintenant inclus dans la base de données par le scanneur et plus par SurvAffich.pl. Importants changements dans le code de SurvAffich.pl. Code plus simple étant donné qu'une partie est passée dans SurvScan.pl. ~03/02/2008~ Version 0.8 béta 3 Le module Net::SNMP n'est plus celui installé par défaut sous GNU/Linux Debian. C'est maintenant SNMP (tout court). La syntaxe est différente ce qui implique des changements importants dans les modules de scan. A tout recoder, j'en ai profité pour optimiser le fonctionnement de la partie "scan" de FEDSnmp. Il est maintenant possible d'utiliser les lettres accentuées dans les noms des groupes/conteneurs. Le logiciel est maintenant sous licence GPL v3. ~30/01/2008~ Version 0.8 béta 2 Améliorations diverses du code des SurvScan*.pl et de SurvScan.pl. Ce dernier permet (code écrit mais laissé en commentaire) de gérer 4 scanners et plus seulement 2. Quelques tunnings dans SurvScan.pl. Correction d'un bug dans ModelePage.pm qui pointait le lien des pages htmls vers nulle part. ~21/12/2007~ Version 0.8 béta 1 Utilisation du formatage Perl pour tout ce qui est affichage à la console (Acquit.pl) ou écriture dans un fichier (Historique.pm). ~19/05/2007~ Version 0.8 alpha 1 Création du module ModelePage.pm qui aura pour rôle de générer les pages html pour les niveaux 1 à 6 (en fait toutes les pages html sauf la page d'accueil). Amélioration de la présentation des pages html. ~20/04/2006~ Version 0.7 La foule est en délire, les mains se lèvent, les trompettes sonnent et les majorettes se trémoussent ... la version 0.7 est sortie ! ~17/04/2006~ Version 0.7 rc4 Utilisation de l'option "-timeout => 2" dans SurvScanPre.pl et SurvScanSec.pl pour qu'en cas de scan d'une machine down (sans-réponse), on ne reste pas bloqué 10 secondes, mais seulement 2. Rajout de l'option "-retries => 2" pour faire une deuxième tentative de scan si la machine ne répond pas à la première requête (ça confirmera ou pas qu'elle est bien down). Je viens de me rendre compte que les modules de scans ne sont pas seulement utilisable avec SNMPv1, mais aussi SNMPv2c, cool ! Nettoyage de Historique.pm qui n'utilise plus de verrou avec SurvAffich.pl. start.sh : Réécriture du script. ~16/04/2006~ Version 0.7 rc3 Rajout d'une table pour la gestion des alarmes de changement d'état (résoud un bug + ajoute une fonctionnalité) pour gérer ce type d'alarmes avec la BD. Finalement, pour gérer au mieux la fonctionnalité ci-dessous, il faudra que j'intègre la console d'administration en v0.7. La console d'administration permet de consulter les alarmes de débit, les supprimer (tout ou partie), de consulter les alarmes de changement d'état, les supprimer (tout ou partie). Passage en module de la gestion des changements d'états : AlarmeChgt.pm. Arrangement de la présentation du code (indentation, ...) dans les différents fichiers. ~15/04/2006~ Version 0.7 rc2 Codage de la console d'administration, rajout de quelques fonctionnalités. Mais ce sera pour la version 0.8. Corrections de bugs révélés par les tests. ~10/04/2006~ Version 0.7 rc1 Une fonctionnalité qui a retardée la version finale sera finalement inclue dans la version 0.8. Si pas de problèmes particuliers, la version 0.7 sera considérée comme stable le 15/04/2006. Nettoyage de code dans AlarmeDebit.pm. ~??/11/2005~ Version 0.7 béta 1 Tests et corrections. ~12/11/2005~ Version 0.7 alpha 13 Codage et déboguage terminé pour AlarmeDebit.pl. Les identifiants pour se connecter à la base de données ne sont plus dans les fichiers de code, mais dans un unique fichier de configuration à part : AcessBD.txt. ~02/11/2005~ Version 0.7 alpha 12 Mise en module (.pm) du récapitulatif de l'arborescence dans un fichier. Mise en module (.pm) de AlarmeDebit.pl. Code à continuer. Mise en module de l'historisation des alarmes. ~30/10/2005~ Version 0.7 alpha 11 SurvScan.pl : Quelques corrections dans le code et avancée dans le code. AlarmesDebit.pl : Codage de 0. Nouvelle logique dans son intéraction avec SurvAffich.pl, par rapport à la version 0.6. Tout le code est dans AlarmesDebit.pl et plus rien dans SurvAffich.pl. On utilise pas de synchro entre les deux, mais SurvAffich.pl fera appel à AlarmesDebit.pl comme module (il faudra donc le renommer AlarmesDebit.pm). Mais d'abord coder AlarmesDebit.pl et ensuite on vera pour le transformer en module .pm insérable dans le code de SurvAffich.pl. ~Date inconnue~ Version 0.7 alpha 10 SurvAffich.pl : Exterminations de bugs ! Modification importante dans la base de données (modification de tous les noms des champs) pour éviter les ambiguités avec des champs de noms identiques pour des tables différentes. ~Date inconnue~ Version 0.7 alphe 9 SurvAffich.pl : Codage. SurvScanPre.pl : Codage terminé. SurvScan.Pre.pl : Codage terminé. SurvScan.pl : Codage terminé. Test du bon fonctionnement de SurvScanPre.pl et SurvScanSec.pl avec SurvScan.pl : OK. Test du bon fonctionnement entre SurvScan.pl et SurvAffich.pl : OK. ~28/08/2005~ Version 0.7 alpha 8 SurvAffich.pl : Chasse au bug cité ci-dessous et bug fusillé >:D. Retouche du code html généré. Version 0.7 alpha 7 SurvAffich.pl : Continuité dans le codage. Un bug sérieux viens d'être révélé : certaines pages html sont vides, le code html ne s'écrit pas dedans. Cela se produit seulement lorsque le programme tourne en boucle. ~22/08/2005~ Version 0.7 alpha 6 GeneBD.sh : Modification mineure de la base de donnée (table Conteneurs) pour l'adapter aux besoins du code de SurvAffich.pl. SurvAffich.pl : La génération des pages html a été recodée encore une fois. Mais cette fois cela devrait être bon : code simple, propre et qui marche ! Maintenant on peut mettre des machines dans les niveaux 1, 2, 3 et 4 et plus seulement le niveau 5. Avant, pour faire cela, on devait mettre les machines dans le niveau 5, et sauter les niveaux intermédiaires dans l'arborescence : hack peu élégant mais qui fonctionnait (sauf que l'on ne pouvait pas mettre de machines dans le niveau 1). Codage de la propagation des états des éléments dans l'arborescence. Ce sont 2 parties importantes du module qui sont achevées. ~21/08/2005~ Version 0.7 alpha 4 et 5 SurvAffich.pl : Ça avance, ca commence à prendre forme. Mais pas mal de boulot encore pour arriver au bout. ~01/08/2005~ Version 0.7 alpha 3 SurvAffich.pl : corrections de bugs. Putain c'est long ! 17/07/2005 : Version 0.7 alpha 2 SurvAffich.pl : codage en cours ... GeneBD.sh : Retouche du script. 30/05/2005 : Version 0.7 alpha 1 GeneBD.sh : un script de création de la base de données et de sa sécurisation (mots de passes et droits). Attention, changer les mots de passe dans SurvAffich.pl et GeneBD.sh. SurvScan.pl : Retouche du code car plus d'épuration du fichier de scan. Plus de version spécifique Windows. Voir dans le code source pour le faire fonctionner sur cette plateforme. SurvScanPre.pl : Retouche du code car le scan ne prend plus en compte la hiérarchie de la machine scannées. SurvScanSec.pl : Retouche du code car le scan ne prend plus en compte la hiérarchie de la machine scannées. 15/05/2005 Version 0.6 Même si tout n'est pas totalement stabilisé, je publie cette version car je me lance dans la refonte du code en profondeur pour la version 0.7. La version 0.6 est donc une version de développement, réservée aux spécialistes. 04/04/2005 Version 0.6 béta 1 Modification de AlarmeDebit.pl pour que la date de l'alarme soit affichée. 30/01/2005 Version 0.6 alpha 4 Mise à jour de start.sh. Réécriture du module SurvScan.pl pour un fonctionnement totalement différent. SurvScan.pl ne fait plus de scan, mais cela est délégué à plusieurs autres modules (pour l'instant 2) qui sont SurvScanPre.pl et SurvScanSec.pl. Ils ont comme fichier de configuration ConfSurvScanPre.txt et ConfSurvScanSec.txt. Ils font leur scan en parrallèle et écrivent les résultats dans les fichiers ResSurvScanPre.txt et ResSurvScanSec.txt. SurvScan.pl est là pour synchroniser ces scans et centraliser les résultats dans ResSurvScan.txt. Le scan est donc plus rapide, mais pour éviter des problèmes de traitements par la suite, il est conseillé de ne pas mettre une cible de scan dans les 2 fichiers de configuration. 16/01/2005 JOYEUX ANNIVERSAIRE À MOI-MÊME ! Version 0.6 alpha 3 Quelques améliorations dans le code AlarmeDebit.pl. Plus de fichier ResSurvScan.txt et ResSurvScanValide.txt, mais seulement ResSurvScan.txt (équivalent de l'ancien ResSurvScanValide.txt), en vu de préparer les modifications du fonctionnement du scan. 15/01/2005 Version 0.6 alpha 2 Des tests ont révélés que des parties de SurvAffich.pl et SurvAffichWin.pl étaient très consommatrices en terme de CPU. Comme maintenant, avec les verrous, SurvAffich*.pl est exécutés régulièrement (toutes les 10 secondes pendant le test), cette consommation n'est plus négligeable. J'ai donc optimisé le verrou entre SurvAffich*.pl et SurvScan.pl pour que la partie de traitement lourde ne soit exécutée que lorsque cela est indispensable. Les tests ont révélés que lorsqu'une machine tombe, cela est noté sur le premier cycle du module SurvAffich*.pl _et_ sur le second. Le résultat est que l'alarme est notée deux fois dans la page web résultat. Changements des noms des fichiers pour homogénéïser le tout : ¤ listeMachines.txt --> ConfSurvScan.txt ¤ ResSurv.txt --> ResSurvScan.txt ¤ ResSurvOK.txt --> ResSurvScanValide.txt Finalement, comme il n'y a pas de différence entre SurvScan.pl et SurvScanWin.pl comme il peut y en avoir entre SurvAffich.pl et SurvAffichWin.pl, je ne gère plus de module SurvScanWin.pl. 01/12/2004 Version 0.6 alpha 1 Modification dans l'expression régulière de SurvScan.pl pour pouvoir utiliser des numéros de ports de plus de 3 chiffres. Retouches du code dans SurvAffich.pl. Mise en place d'un verrou entre SurvScan.pl et SurvAffich.pl. Ainsi, on n'a pas à se proccuper de la synchronisation entre ces 2 modules. Si verrou non ouvert par SurvScan.pl, SurvAffich.pl met à jour la page html avec l'acquitement des alarmes que l'utilisateur aura pu faire, mais pas d'enregistrement ou de traitement. Module AlarmeDebit.pl entièrement recodé. Il ne remonte plus seulement des alarmes, mais il affiche sur une carte des points de mesure avec le pourcentage d'utilisation, et une couleur associée ; c'est l'équivalent d'un network weather map. Le fichier de configuration de ce module a donc changé. Pour le moment il ne gère qu'une seule carte. ~15/11/2004~ Version 0.5 SurvAffich.pl copie les dernières alarmes (et seulement elles) dans un fichier AlarmesDer.txt en plus de les ajouter, comme avant, à historique.txt. AlarmeDebit.pl : nouveau module qui regarde dans le fichier AlarmesDer.txt si les débits surveillés constatés révèlent une occupation trop importante de bande-passante (-> saturation). Pour le moment 2 niveaux d'alertes : urgence (aïe, c'est la merde là !) et avertissement (attention, il y a un problème). Le résultat est affiché dans la page html. Le compilateur sous Windows ne peut pas utiliser le module Date::Calc. Donc pour que le programme soit utilisable sur cette plateforme, je vais développer la version Linux normalement et je vais ensuite adapter pour Windows les modules SurvAffich.pl et SurvScan.pl (les autres soit ca marche et tant mieux, sinon, vous n'avez qu'à utiliser un vrai système d'exploitation !). Je distinguerai les modules pour windows en les nommant SurvAffichWin.pl et SurvScanWin.pl. Mise-à-jour du script start.sh. Le code dans TraitSpe.pl est mis dans un module indépendant : RegroupAlm.pl Nouvelle fonctionnalité dans SurvAffich.pl : quand une machine change d'état, l'info est écrite dans un fichier. La page html d'accueil inclut ces infos. Ainsi, l'utilisateur sera au courant d'une panne en son absence. Pour acquiter ces alarmes, l'utilisateur videra à la main le fichier NonAckAlarmes.txt (c'est pas très convivial, je sais). Quelques ajouts dans Surv.html. Code Html amélioré. Dans Historique.txt on n'archive plus les alertes quand tout est OK (machine UP, port aussi, et pas de monitoring lancé sur un port). Cela permet d'alléger le fichier qui gonflait trop vite quand on surveillait un parc important de machines. CorrecRetCpt.pl : Nouveau petit module. Lors des relevés des compteurs, on a parfois des sauts de compteurs qui font que la valeur entre 2 relevés est très très grande. Ce module parcours le fichier d'alarme et met à zéro les valeurs qui sont au-dessus d'une valeur que l'utilisateur spécifiera. Ne traite que les débits et pas les compteurs d'erreurs. ~17/10/2004~ Version 0.4 Validation de la version béta4 en version finale. ~16/09/2004~ Version 0.4 béta4 Corrections dans TraitSpe.pl. De plus, une partie de l'algorithme était trop lourde. Cela était flagrant quand il y avait beaucoup d'alarmes à traiter (test sur un fichier de plus de 110000 alarmes). Modifications effectuées. Les tests ont révélé des problèmes sur SurAffich.pl qui remonte parfois des valeurs de compteurs très élevées. Pour résoudre ce problème amélioration du calcul du délai inter-scans. ~12/09/2004~ Version 0.4 béta3 Rajout dans la page html d'un état pour les machines : other. Les machines sont dans cet état lorsqu'elles étaient scannées par SurvScan.pl et qu'elles ne le sont plus (ou pas lors du dernier scan en tout cas). ~04/09/2004~ Version 0.4 béta2 Finitions + modification dans l'algorithme de TraitSpe.pl. ~25/08/2004~ Version 0.4 béta1 Nouvelle fonctionnalité qui viens de sortir de TraitSpe.pl : Le regroupement des remontées d'alarmes suivant une période, suivant un groupe, et le traitement s'effectue suivant une granularité définie en minutes. Par exemple on veut avoir le max des débits en entrée, en sortie (idem pour les erreurs) pour toutes les machines étant inclues dans le groupe2 "sud" (du groupe1 "france"), et que le regroupement se fasse sur des intervalles de 15 minutes. On peut faire ainsi tous les groupes (1 à 5), granularité de 1 minute à l'infini (voir la cohérence avec les inter-temps des scans). Ce regroupement concerne ifInOctets, ifOutOctets, ifInErrors et ifOutErrors. Pour rentrer les différentes informations, il suffit de lancer le module et de suivre les instructions. La présentation de la page d'accueil html a été changée, et s'est aussi enrichie d'un bandeau comprenant des liens vers divers fichiers en lecteure seule : ¤ Historique.txt (fichier de log) ¤ Arborescence.txt (reconnaissance de l'arborescence définie par l'utilisateur) ¤ pagesHtml (répertoire où se trouves les pages html) ¤ listeMachines.txt (listing des machines par l'utilisateur) ¤ README (ce fichier) Création d'un nouveau module : Archivage.pl. Il stocke dans un fichier HistoriqueAAAAMMJJ.txt les alertes de la date courante en remontant jusqu'à une mois. AAAAMMJJ est l'année/mois/jour de la date courante (date de la sauvegarde). Il n'efface pas ces alertes du fichier Historique.txt. Dans la page d'accueil html, le listing ne comprend maintenant que les machines qui ont un problème (port surveillé inactif ou machine down) et plus les machines up. Un nouveau fichier est créé par le module SurvAffich.pl. Il se nomme "Arborescence.txt". Il contient l'arborescence comprise par le logiciel, telle que l'utilisateur l'a définie dans SurvAffich.pl. Ce fichier ne sert que de vérification, pour l'utilisateur, que l'arborescence définie correspond bien à celle qu'il voulait définir. Il est possible maintenant de superviser différentes communauté SNMP. La communauté snmp utilisée pour une machine donnée doit maintenant être spécifiée dans listeMachines.txt. Les compteurs "ExistenceTrafic?" et "NbPertePorteuses" entièrement enlevés du code de tous les modules (ces variables n'étaient pas exploitées depuis plusieurs versions). ~03/07/2004~ Version 0.3 Script start.sh plus complet, mais utilisable seulement sous Linux/Unix. Dans SurvScan.pl, si la ligne lue dans listeMachines.txt a une erreur de syntaxe, un message d'alerte est affiché dans la console. Il est possible de mettre des commentaires qui passeront ce contrôle de syntaxe. Un commentaire commence par "ZZ" (sans guillemet). Quelques corrections de bugs et améliorations dans le code de SurvAffich.pl et SurvScan.pl. Création d'un nouveau module : TraitSpe.pl. Ce module pourra effectuer divers _petits_ traitements tels qu'additionner les débits d'un ensemble de machines appartenant à un même groupe. Encore en dévelopement. Ajout de la possibilité de surveiller plusieurs ports/interfaces d'un même équipement sans que cela rentre en conflit. En effet, un élément de surveillance n'est plus défini par son adresse IP mais par le triplet (Adresse IP)-(Nom)-(Numéro de port). On peut donc aussi effectuer plusieurs surveillances d'un même port d'un même équipement, tant que le nom diffère pour chacune. La surveillance d'un port est prise en compte dans la remontée des alarmes : ¤ machine UP, port UP => UP ¤ machine UP, port DOWN => MIDDLE ¤ machine DOWN, port DOWN => DOWN Il y a donc un nouvel état défini qui est MIDDLE. L'état DOWN est prioritaire sur MIDDLE dans l'arborescence, et MIDDLE est prioritaire sur UP. C'est-à-dire que si toutes les machines d'un groupe sont UP, le groupe est UP. Si une seule machine est MIDDLE, alors le groupe passe MIDDLE (le père aussi et ainsi de suite). Si une machine est MIDDLE et une autre DOWN, le groupe passe DOWN (le père aussi et ainsi de suite). Changements dans le design de la page html pour la présentation des résultats : plus joli, plus lisible. ~01/06/2004~ Version 0.2 Mise à jour du script "start.sh". Bug 1 résolu. Bug 3 résolu. ~28/05/2004~ Version 0.2beta Rajout d'une information dans le fichier listeMachines.txt : il faut maintenant indiquer le numéro du port/de l'interface que l'on veut analyser. Ainsi, on peut, par exemple, concentrer l'analyse que sur un port d'un switch. Si le port est 0, on n'effectue pas les analyses spécifiques à un port (on regarde SysUpTime seulement par exemple). La récupération de la date ne s'appuit plus sur l'appel de la commande 'date', mais sur l'utilisation de la bibliothèque Time::localtime. Ainsi, le programme n'est pas limité aux machines GNU/Linux mais aussi Windows (sur laquelle 'date' avait un comportement qui rendait le programme inutilisable). Le débit n'est plus calculé sur le temps entre 2 boucles de SurvAffich, mais entre 2 relevé par SurvScan. Pour plus de précision, on stocke maintenant aussi les secondes dans la date. Alors que le débit était jusqu'à présent indicatif, maintenant la valeur donnée est calculée avec précision avec cette nouvelle méthode. Suppression de tout le code permettant de détecter les bagotements, afin d'alléger le code. Cette fonctionnalité sera peut-être remise plus tard si le besoin s'en fait sentir. Reste le bug1. Reste le bug3. ~09/05/2004~ Version 0.1 Découverte d'un bug dans le calcul de la date : on n'arrivait pas à remonter le mois. Bug résolu. Modifs dans SurvAffich (affichage de la date amélioré et image à la place de UP/DOWN dans les niveaux 2 à 5). Reste le bug1. ¤¤¤¤Bug3 : Quand un la définition d'un site n'utilise pas tous les niveaux d'un site, on a le niveau 1 qui est bien mis à jour, mais pas le niveau père du dernier niveau. Donc ça paraît toujours UP alors que parfois c'est DOWN. ~03/05/2004~ Intégration du code de EpurFichier.pl dans SurvScan.pl. Ainsi on résoud le bug2. Quelques modifications mineures dans le code de SurvScan.pl et SurvAffich.pl. Reste le bug1. ~02/05/2004~ Rajout de liens dans les pages html pour : ¤ remontée au niveau père ; ¤ revenir à la page d'accueil. Quelque bugs découverts et résolus. Des tests (vraiment fais à l'arrache pour voir en gros les capacités) sur les modules SurvScan.pl et SurvAffich.pl ont été effectués. Voir plus bas les résultats. Chaque module a été testé indépendamment des autres. ¤¤¤¤Info : Il est possible de ne pas utiliser les 5 niveaux pour placer une machine. Pour cela, prenons l'exemple suivant : machine "porki" ayant le niveau 1 "italie", le niveau 2 "est", et enfin le niveau 5 "chambre" dans lequel on place la machine. Donc pas de niveau 3 et 4. Alors pour le niveau 1, on définit "italie". Pour le niveau 2, on définit "est" avec pour père "italie". Pour le niveau 3, on définit "chambre" (c'est-à-dire le prochain niveau suivant, réellemment définit, en descendant) avec pour père "est". On ne définit rien pour le niveau 4. Pour le niveau 5, on définit "chambre" avec pour père "est" (c'est-à-dire le premier niveau suivant en remontant). Dans le fichier listeMachines.txt, on mettra "NC" pour les niveaux 3 et 4. Avec cette méthode on peut voir que l'on peut définir le niveau 1, puis passer directement au niveau 3, 4 et 5, ou encore utiliser le niveau 1, puis le 3, pour finir par le 5. Biensûr, quelque soit la configuration, il faudra utiliser les niveaux 1 et 5 au minimum. ¤¤¤¤Info : Sur un pentium III 1Ghz, je peux créer environ 625000 pages web à la minute avec le module SurvAffich.pl (à condition d'enlever les messages d'infos qui sont affichés sur la console). J'ai 256Mo de RAM, mais alors que j'utilise presque 100% de CPU (le "presque" vient du fait que 3% était utilisé par le système), j'utilise moins de 1% de RAM. ¤¤¤¤Info : Sur un pentium III 1Ghz, je peux scanner 140 machines à la seconde qui ne sont pas connectées. Toute la CPU est utilisée, mais peu de RAM (moins de 5%). Sur une liste de machines qui répondent (en fait la même machine locale), on effectue 6 requêtes SNMP par machine. Entre 60% et 65% de CPU utilisée (le reste est utilisé par le serveur snmpd local qui répond aux requêtes). Moins de 3% de RAM utilisée. On scanne alors environ 27 machines par secondes. ¤¤¤¤Bug2 : Le module EpurFichier.pl exploite le fichier ResSurv.txt alors que parfois celui-ci est en cours d'écriture. Il faudra mettre un indice pour indiquer quand un fichier créée par un module est exploitable par un autre. ¤¤¤¤Bug1 : Lorsqu'une machine passe de UP à DOWN, et qu'elle revient à UP, le débit affiché est égal au compteur InOctets. Cela vient du fait que l'ancienne valeur est égale à 0 (machine DOWN), et donc quand elle revient UP, elle fait comme d'habitude la diff entre son ancienne valeur et la nouvelle, mais avec pour ancienne valeur 0 ! Mettre une condition pour que le stockage de la valeur actuelle de InOctets comme ancienne valeur, se fasse que si celle-ci est différente de 0. Le problème est surement présent pour le taux d'erreurs et autres compteurs qui s'incrémentent et dont nous affichons seulement les deltas. ~29/04/2004~ Correction d'un bug sur la remontée d'un état UP ou DOWN au premier niveau. Problème qui se répercutait sur l'IHM biensûr. Quelques améliorations du fichier start.sh. Changement de l'emplacement des pages html. Toujours pas de numéro de version même si je pense que le logiciel est exempt de bug. Modification dans la présentation de la page html d'accueil. ~26/04/2004~ J'ai programmé ce logiciel pour remplacer le merdique et instable Netview. Ce nouveau logiciel est encore en plein développement. Il contient quelques bugs qui font que les informations remontées ne sont pas encore fiables (dans la partie IHM du moins, le reste est bon). Cependant, la structure principale du programme est là. Une description rapide : ¤ Le module SurvScan.pl effectue des requêtes SNMP sur les postes listés dans le fichier listeMachines.txt. ¤ Le module EpurFichier.pl effectue quelques tests sur le résultat pour s'assurer qu'il n'y a pas de chaînes de caractères invalides, d'injection de codes ou je ne sais quoi d'autres. Le résultat "épuré" est inscrit dans un autre fichier. ¤ Le module SurvAffich.pl genère les pages html et calcule les données à y inscrire (calcul des débits et des erreurs, ...). Et surtout indique si une machine est UP ou DOWN. L'architecture du réseau est à 5 niveaux, et cela est défini dans le fichier listeMachines.txt. Enfin, ce dernier module écrit le résultat de ses calculs dans un fichier texte (Historique.txt) en vu que d'autres modules de traitement (pas encore développés) prennent le relais (générer des stats avec graphes, grouper des débits selon le groupe d'appartenance, ...). Même si je m'appuie sur des pages web pour l'interface IHM, il n'est pas besoin de serveur web. Les pages se rafraîchissent automatiquement toutes les n secondes. Pour tout renseignemement : lehmann.enlever.mention@free.fr Je n'ai pas encore donné de numéro de version étant donné qu'il est encore en plein dev.