Tags:
create new tag
, view all tags

Stage de Charles Côté - Cégep Sainte Foy Québec / IUT Schuman Strasbourg - [24/02/14 au 9/05/14]

Important : cette page est réservée au suivi du stage, merci de ne pas la modifier

Informations générales pour les stagiaires

Pour toute information concernant ce stage : contacter Anaïs ou André

Attention: les fichiers de logs contiennent des données sensibles (ex: IP permettant potentiellement d'identifier des personnes), il ne faut donc pas stocker ces fichiers en dehors des machines de l'observatoire et surtout ne pas donner un accès public (liens, interfaces Web) aux différents outils développés durant le stage

Sujet

Documents de travail

Stage (février - mai 2014)

Février

  • 24, accueil et réunion de travail avec Anais et André
  • ..28, assimilation du travail à effectuer, étude des documents et liens fournis
  • 25 : Écriture en Java d'un premier programme qui traduit un log Simbad Apache en format Pivot au format CSV
  • 26 : Écriture en Java d'un programme qui traduit un log VizieR en format Pivot au format CSV
  • 26 : Écriture en Java d'un programme qui traduit un log Aladin en format Pivot au format CSV (pour l'instant, les seules query-string retenues sont celles de la méthode Sésame)
  • 26 : Pour l'après-midi, standardisation des dates pour qu'elles soient toutes sous le même format(Au format DATETIME de MySQL (YYYY-MM-DD HH:mm:ss)) (Fait)
  • 27 : Regard sur les bases de données, comment se ferait l'importation d'un fichier de log pivot en CSV dans une base de donnée relationelle (tel MySQL) ou dans NOSQL
  • 27 : Correction du programme de Simbad vers pivot avec les recommendations d'Anaïs. (Fait)
  • 28 : Installation de LAMP et test avec des entrées du log pivot, très concluant jusqu'à présent

Mars

  • 3..7 : Tests de comparaison du format pivot sous MySQL(?)/PostgreSQL/NoSQL/ElasticSearch/LogStach
  • 10..21 Finalisation du format pivot / accès aux logs des premiers services concernés dans ce format, et exemples simples de sortie de stats (nombre de requetes Simbad / Aladin ; sous catégories des IP internes observatoire ou externes ou robots ; l'objet (=nom=identificateur) le plus demandé par tous les services confondus)
  • Rédaction des études et choix
  • 3 : Exportation des fichiers Pivots vers MySQL et test de temps pour l'importation : 5 minutes pour importer tout les logs de l'année 2012 d'Aladin + Écriture du programme d'Aladin vers format pivot sans utiliser de mémoire (heap)
  • 4 : Écriture du programme de VizieR et Simbad vers format pivot sans utiliser de mémoire (heap) + Raffinement des programmes + Demande d'informations sur les query_string importantes pour VizieR
  • 5 : Application des modifications pour le format pivot Vizier + Commencement du programme pour transformer les logs TAPVizieR en format pivot
  • 6 : Première version du programme qui transforme les logs TAPVizier en format pivot écrite. Tests dans la DB MySQL + Demande d'information pour compléter le programme.
  • 7 : Installation + familiarisation avec MongoDB + Modification du programme Simbad pour qu'il puisse produire des logs JSON (qu'on pourra importer dans MongoDB)
  • 10 : Importation des fichiers JSON dans MongoDB + Test de requêtes. Très performant et plus adapté à la présente situation que MySQL.
  • 11 : Test d'insertion d'une année au complet de logs apaches Simbad. Plusieurs modifications au programme Java sont apportées lui permettre de produire de gros fichiers de logs (500 Mo par mois)
  • 11 : Preblème : La taille maximale d'un fichier JSON qu'on peut importer dans MongoDB est de 16 Mo, les fichiers par mois correspondent à environ 250 Mo (après la traduction de mon programme Java)
  • 12 : Tests faits sur MongoDB et MySQL
  • 12 : Tester ElasticSearch (Apache Lucene)
  • 13 : Production d'une version MongoDB pour les logs Aladin + Insertion dans la base de donnée. Importation très lente (importer l'année Aladin 2012 au complet me prendrait 10h20m donc je n'importe que les 2 premiers mois pour faire des tests.
  • 14 : Modifications apportées au programme Java Simbad vers MongoDB + Écriture du programme VizieR vers MongoDB + Importation des fichiers résultants dans la base. Importation encore une fois très lente et limitée, mais une fois les données enregistrées, les requêtes se font très rapidement. Test de requetes regrouppant plusieurs services pour obtenir des statistiques réelles.
  • 17 : Ajout de commentaires dans les programmes + Tests d'importation sur ElasticSearch + Rédaction d'une mise au point sur le stage (pour mon superviseur de stage au Cégep de Sainte Foy) + Ménage dans la base Mongo
  • 18 : Reunion avec André et Anaïs. En apres-midi, Exploration de l'utilisation Java et MongoDB + Séparation des programmes de traductions et de ceux qui insèrent les données dans MongoDB.
  • 19 : Écriture en Java du programme d'importation dans MongoDB + Avancement du module complémentaire qui regarde si le fichier qu'on importe contient des entrées déjà présentes (et qui importe celles qui ne le sont pas)
  • 20 : Finalisation du module complémentaire, par contre pas été en mesure de le tester, problèmes avec MongoDB qui était plein. Recherches de solutions dans l'après-midi pour réinstaller MongoDB dans une autre partition.
  • 21 : Après avoir reglé le problème de partitions et de manque d'espace, en mesure de tester mon programme avec le module. Quelques problèmes apparaissent mais fonctionne très bien à la fin de la journée.
  • 24 : Matin écriture de mon rapport hebdomadaire (pour mon superviseur Québécois) + Test de mon nouveau module avec des fichiers beaucoup plus volumineux
  • 25 : J'importe une année au complet de logs Simbad 2012, et une au complet d'Aladin 2012 (deux sortes de logs différents seront interessants pour les stats sur une même année)
  • 25 : Test MongoDB, requête en même temps qu'on importe dans la base : Concluant, mais beaucoup plus lent à répondre (il faut tenir en compte que je ne dispose pas de la mémoire d'un serveur non plus)
  • 26 : Fin de l'importation, tests de performance sur la base qui contient maintenant 98 millions d'entrées. Très lent à répondre, ce qui est normal pour un ordinateur a faible mémoire vive
  • 27 : Premiers tests de Kibana et Elastic Search. Très belle interface et très belle visualisation des résultats. Pour l'après-midi : trouver une façon de connecter MongoDB avec ElasticSearch afin d'afficher les données dans Kibana.
  • 27 : Affichages de statisques de MongoDB sur une "river" pour les indexer dans ElasticSearch dans un graphique Kibana, très impressionant et facile d'utilisation, toutefois réinstallation d'ElasticSearch dans la grosse partition et problèmes.
  • 28 : Réglage des problèmes et importation de toutes les données vers ElasticSearch pour voir le résultat dans Kibana. MongoRiver (plugin de MongoDB vers ElasticSearch) devient instable après plusieurs milions d'importations.
  • 28 : Pour lundi prochain : Tenter de voir si produire un logiciel d'importation directe vers ElasticSearch serait faisable et efficace.
  • 31 : Test de la librairie d'ElasticSearch, pas beaucoup de documentation mais réussi tout de même à indexer quelque données.

Avril

  • Prototype d'interrogation pour stats de base (et plus complexes si déjà possible)
  • Participation à la première session de présentation des services, métiers, projets, ... de l'observatoire (environ 1 journée au total
  • 1 : Exploration de Kibana, recherche sur comment bâtir une requête et essaie de comprendre comment fonctionne les timestamp (comment attacher un certain champ au temps) + Réunion
  • 2 : Production des transparents pour la réunion Infusion la semaine prochiane. Construction de la présentation.
  • 3 : Produire les fichiers d'exemples pour la présentation et familiarisation de Kibana
  • 4 : Recherche sur l'identification d'adresse IP par rapport au pays de provenance + construction de graphiques dans Kibana par rapport au temps
  • 7 : Correction de la présentation + Recherche de Kibana pour afficher des graphiques par date
  • 8 : Majoritairement journée de réunions + Préparation de la présentation sur mon PC
  • 9 : Quelques réunions + Installation du nouvel ordinateur, premiers tests de vitesse de requête, très concluants
  • 10 : Finalisation de la présentation + Test sur Windows (machine virtuelle Linux trop lente), concluant, je ferais ma présentation entièrement sur Windows
  • 11, présentation du travail dans le cadre de la réunion Infusion
  • 14..., prise en compte des remarques de la réunion infusion / modifications et développements complémentaires, tests, documentation, finalisation des outils
  • 14 : Tests d'importation (écriture des résultats) + Test sur l'espace que prend MongoDB pendant les différents états (importation, recherche de requête, mort, etc.) + Regard sur l'utilisation PHP et MongoDB pour les statistique.
  • 15 : Finir d'importer les logs des différents services + Exploration de Node.js qui est un service qui connecte Javascript à une base de données MongoDB.
  • 16 : Matinée : Je tente de faire fonctionner Node.js, sans grand succès et j'indèxe mes données dans ElasticSearch. Il y avait trop de données et ElasticSearch à dépassé son Java Heap Space (51 millions de données / 98 millions ont été importées)
  • 17 : J'importe d'autres années de logs, pour voir ensuite si le temps de réponse d'une requete est linéaire par rapport au nombre de données dans ma base.
  • 18..21, week-end de 4 jours en Alsace
  • 22 : Importation de logs simbad dans la base de données + Regard sur PHP + Mongo et installation des différents modules. Premiers test PHP effectués et concluants
  • 23 : Importation de logs simbad dans la base de données + Schéma et début de construction d'une interface utilisateur pour obtenir les statistiques en PHP.
  • 24 : Importation de logs simbad dans la base de données + Continuation de la construction de l'interface de génération de statistiques.
  • 25 : Importation de logs simbad dans la base de données + Test de ElasticSearch avc plus de mémoire maximale. Jusqu'à présent, c'est concluant, je suis rendu à 85 millions d'entrées d'indéxées, ce qui est beaucoup plus qu'avant.
  • 29 : Préparation de la présentation + Recherche sur l'optimisation de MongoDB.
  • 30 : Finir la présentation du 7 Mai.
  • 30, à ce stade les différents développements devraient être stables et documentés
  • à prévoir durant la 2ème quinzaine: plan du rapport de stage

Mai

  • 1, férié en France
  • 2 : Rédaction du rapport de stage.
  • 5 : Rédaction du rapport de stage et rencontre avec André et Anaïs pour la présentation de Mercredi.
  • 6 : Corrections apportées à la présentation (Ajout d'images, de tableaux et de la section "Ce que j'en retire") et recherche au niveau de l'utilisation MongoDB + Php
  • 2..7 : rédaction du rapport de stage et pré-soutenance (lundi 6)
  • 7, soutenance (IUT Schuman, 9h30)
  • 8, férié en France
  • 9, fin du stage

Sauvegardes

  • à définir au cas par cas suivant le sujet du stage

Liens

  • En local :

Versions testables

Testé sur ...

Documentation

  • Presentation (pdf)
  • Rapport (pdf) (N.B. ce rapport n'a pas été contrôlé par nos soins mais rédigé après le stage)

Informations/travaux divers

  • ...

Travail post stage éventuel

Liste des améliorations à envisager

Bugs connus

pdf

Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatgz ProjetsStageCharlesCote.tar.gz manage 1286.6 K 2016-02-19 - 16:22 AndreSchaaff  
PDFpdf Rapport_de_stage_-_Charles_Co770te769-1.pdf manage 681.2 K 2014-08-27 - 13:40 AndreSchaaff  
Microsoft Word filedoc Rapport_de_stage_-_Charles_Co770te769.doc manage 623.5 K 2016-02-19 - 16:24 AndreSchaaff  
Unknown file formatodt guide_utilisation.odt manage 32.1 K 2014-05-07 - 15:46 UnknownUser Version finale - Guide d'utilisation
Unknown file formatgz ipgeo2Country.cvs.gz manage 2344.0 K 2014-04-11 - 15:28 AnaisOBERTO liste des plage IP pour Pays
PDFpdf nagios_apache.pdf manage 41.1 K 2014-02-21 - 15:36 AnaisOBERTO Extrait du plugin apache pour nagios
PDFpdf posterMarcWengerObservatoire.pdf manage 1492.6 K 2014-02-25 - 10:32 AnaisOBERTO Exemples de Statistiques Simbad
Unknown file formatodp presentation.odp manage 152.8 K 2016-02-19 - 13:50 AndreSchaaff  
PDFpdf presentation_7_mai-2.pdf manage 665.7 K 2014-08-27 - 13:36 AndreSchaaff  
Unknown file formatodp presentation_7_mai.odp manage 730.3 K 2014-05-07 - 13:39 UnknownUser Présentation du 7 Mai (Soutenance)
Unknown file formatodt tableau_performances.odt manage 20.6 K 2014-05-07 - 13:44 UnknownUser Tableau des résultats des tests de performance
Topic revision: r57 - 2016-02-19 - AndreSchaaff
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback