La forge Enseignement supérieur et Recherche

Accueil Ma page Projets Échantillons de code Postes ouverts du projet QoQ-CoT
Résumé Activité Forums Outil de suivi Tâches Documents Annonces Code source Fichiers Dokuwiki Listes Sympa

Forum : Nouvelle version 3.0 Commandant Poulard !!!

Publié par : Gérard Milhaud
Date : 17/02/2016 08:01
Résumé : Nouvelle version 3.0 Commandant Poulard !!!
Projet : QoQ-CoT

Contenu :

Pré-scriptum : désolé pour l'hypertexte pas très hyper, mais pas possible de faire figurer des liens dans les annonces de SourceSup, même si on peut les rédiger avec fckEditor... :-(

-----------------------------

Salut à tous,

Le Commandant (Isidore) Poulard révolutionne le poulailler avec l'arrivée de cette nouvelle version !!!

Vous remarquerez un saut de version majeure, bien que les différences visuelles pour l'usager (donc dans l'interface web) soient très minimes... En effet, cette fois, le gros changement est à l'intérieur, sous le plumage jaune vif du volatile...

Bref, arrêtons net le suspense et envoyons la GROSSE info : IL N'Y A PLUS DE RSYSLOG DANS QoQ-CoT !!!

Pourquoi ? Parce que la méthode de remontée des connexions par rsyslog posait, certains d'entre vous l'ont remarqué, quelques soucis : l'événement de fin de connexion n'était pas capté dans certains contextes (un exemple parmi d'autres : en cas d'arrêt de la machine sans passer par la déconnexion de session, sous certaines versions de Linux). L'impact de ces « loupés » est important : la connexion n'a pas de durée dans la base de données. 1er souci : on ne peut pas savoir que quelqu'un était connecté (problème sur l'objectif 1 du produit, dit « QoQ » pour « Qui ou Quand » : « Qui est connecté à quelle heure sur quelle machine ? »). 2nd souci : les statistiques d'utilisation sont faussées (problème sur l'objectif 2 du produit  dit « CoT » pour « Combien de temps » : « Combien de temps sont utilisées les machines ? »). 

Devant ces problèmes graves impactant la fiabilité des données produites, pas d'autre solution qu'une révolution radicale : il fallait changer le mode de collecte. C'est chose faite avec l'avènement de cette nouvelle version, baptisée 3.0 Commandant Poulard :  vos données deviennent fiables à 100%, aucune heure fin de connexion ne peut être perdue et donc aucune connexion ne peut être non considérée dans les calculs.

Comment un tel exploit est-il possible, me direz-vous, franchement étonnés et un brin circonspects ?... Tout simplement en construisant nous-mêmes les outils spécifiques et adaptés assurant la remontée des connexions.

Désormais, ladite remontée des connexions dans la base est assurée par un client maison, dit « le poussin », à installer sur toutes vos machines. Il en existe 3 versions binaires (mais nous fournissons évidemment le source...) pour MacOs (poussintosh), Linux (poussinux) et même Windows (poussindows). L’intérêt du binaire étant qu’il embarque en un seul fichier tous les modules Perl utilisés pour le développer.

Ces poussins vont parler en permanence à un programme serveur également maison, baptisé quant à lui, assez logiquement, « le coq ». Et c’est le coq qui va nourrir -- il est seul autorisé à le faire -- la base de données à partir des informations renvoyées par les poussins.

Ce nouveau fonctionnement est appelé mode « poussin/coq », locution amenée à rapidement remplacer, dans la littérature informatique, le largement dépassé « client/serveur ».

La différence fondamentale avec le mode rsyslog est que les poussins vont fonctionner selon un principe inspiré de la veille automatique ferroviaire -- http://fr.wikipedia.org/wiki/Veille_automatique -- (souvent appelé « dispositif de l’homme mort »). Au lieu de tenter de capter l’unique événement de fin de connexion, geste chirurgical et furtif qu’un contexte fluctuant peut faire avorter, les poussins vont indiquer en permanence au coq (intervalle de temps configurable, mais voué à être faible, de l’ordre de quelques secondes) qui est actuellement connecté sur la machine. Le coq va insérer ces informations dans la base en inscrivant systématiquement comme heure de fin de connexion l’heure à laquelle le poussin lui a dit que l’utilisateur était connecté. Et au prochain envoi du poussin, si l’utilisateur est encore connecté, le coq va simplement mettre à jour dans la base l’heure de fin de connexion...

On comprend qu’il n’est alors plus possible, quel que soit l’événement provoquant l’arrêt de la machine, qu’une connexion ne soit pas considérée : elle aura toujours une durée enregistrée dans la base (sauf à n’exister qu’entre 2 envois du poussin, mais à vous de configurer le rythme des envois pour que ceci soit impossible : 10 secondes est un assez bon réglage pour ça).
Le cas de la perte du réseau est géré, le poussin va stocker en local tous ses envois et les rejouer quand le coq sera à nouveau atteignable. La non-disponibilité du serveur MySQL est aussi gérée.

La principale différence pour vous, au niveau de l’interface de suivi des connexions, est que la date de fin de toutes les connexions est TOUJOURS renseignée, et que ça ne veut plus dire que la connexion est fermée... Non, la connexion ne peut désormais être considérée comme fermée que si la date de fin n’évolue plus pendant un temps supérieur à l’intervalle séparant 2 envois du poussin.

Toutes les infos sur le mode poussin/coq dans cette section de la FAQ : http://sourcesup.renater.fr/wiki/qoq-cot/la_faq#fonctionnement_de_la_remontee_des_connexionsle_mode_poussin_coq_apparu_avec_la_version_30_commandant_poulard.

Oui, bien sûr, vous pourrez migrer de façon progressive votre parc, avec des clients en mode rsyslog et d’autres en mode poussin/coq. Voir cette entrée de FAQ : http://sourcesup.renater.fr/wiki/qoq-cot/la_faq#migration_progressive.

La poulette est donc désormais, comme toutes les femmes fatales, plus belle, plus avenante, plus précise et plus impitoyable que jamais. Vous n’avez d’autre option que de satisfaire vos pulsions devant une créature aussi désirable : UPGRADEZ !!! Maintenant !!!

-----------------------------

La FAQ : https://sourcesup.renater.fr/wiki/qoq-cot/la_faq
Le guide de l’utilisateur : https://sourcesup.renater.fr/wiki/qoq-cot/guide_de_l_utilisateur
La version à télécharger sur SourceSup ici : https://sourcesup.renater.fr/frs/?group_id=1276
La doc d’install dans l’archive téléchargée : ressources/doc/INSTALL/INSTALL.TXT
La doc d’upgrade dans l’archive téléchargée : ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/UPGRADE_FROM_PREVIOUS_VERSIONS.txt

-----------------------------

Parmi les quelques autres changements notables venant avec cette nouvelle version (la liste complète est dans le CHANGELOG : sourcesup.renater.fr/wiki/qoq-cot/historique_des_versions), on peut citer :

— Ajout dans src/ du script export_salles_to_csv.php qui permet de générer le fichier des salles au format csv compatible avec l’import par src/setup.php. Pratique pour les changements, ou en cas de perte du .csv original. Voir cette entrée de FAQ : http://sourcesup.renater.fr/wiki/qoq-cot/la_faq?&#comment_faire_pour_ajouter_supprimer_modifier_une_salle.

— Ajout du script bonne_annee.php qui corrige dans votre base les connexions du futur (lié au fait que NxLog ne remontait pas l’année au rsyslog). Voir cette entrée de FAQ : http://sourcesup.renater.fr/wiki/qoq-cot/la_faq#connexions_dans_le_futur.

— Sécurité : ajout d’un trigger sur la base qui va interdire la mise à jour dans la base (toujours à des fins malicieuses, par exemple pour masquer sa présence sur une machine à un certain moment) d’une date de fin de connexion par une date antérieure. Pour cela :
    — Ajout, dans ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/, du script Add_TRIGGER_Right_For_QoQ-CoT_MySQL_User.sh qui va donner le droit TRIGGER à l’utilisateur associé à la base MySQL QoQ-CoT
    — Ajout, dans src/setup.php, du code permettant la création d’un trigger sur la base MySQL QoQ-CoT.

— Ajout du script doc/INSTALL/CREATE_DB_AND_USER_QoQ-CoT.sh permettant, pour les nouvelles installations (par opposition aux upgrades), la création automatique de la base MySQL QoQ-CoT et de l’utilisateur MySQL associé, avec les droits nécessaires (SELECT, INSERT, UPDATE, TRIGGER) depuis les machines qui tournent 1) l’interface web et 2) le coq. Utilisation du script documentée dans doc/INSTALL/INSTALL.TXT.

— Ajout de quelques informations sur les graphes, essentiellement la moyenne des données tracées. Tous les détails dans la section Graphes du Guide de l’utilisateur : http://sourcesup.renater.fr/wiki/qoq-cot/graphes_v3.0_commandant_poulard

-----------------------------


Allez, plongez donc sans pudeur ni retenue votre visage au plus profond de ce plumage jaune à l'infinie douceur. Certaines débauches sont plus que respectables, elles sont nécessaires...

À bientôt,

G, pour la QoQ-CoT Team.

Surveiller ce forum | Commencer une nouvelle discussion Commencer une nouvelle discussion
Sujet Rédacteur initial Réponses Dernier message
Bienvenue sur nouvelle-version-3.0-commandant-poulard----015/02/2016 11:37