CERN Openlab Summer Student Programme Building effective Database Backup & Recovery Monitoring using Elastic Stack Author : Yasmine NASRI Supervisor : Sebastien MASSON August 15th, 2017
Outline 1. Introduction 2. Elastic stack 3. Implementation En premier lieu, nous allons commencer par une introduction où nous présenterons le contexte du projet, la problématique qui a poussé l’EPAL a vouloir développer un système décisionnel, ainsi que les objectifs à atteindre. En second lieu, nous présenterons une synthèse bibliographique à propos des notions de base des systèmes décisionnels, notamment les entrepôts de données et la modélisation dimensionnelle. Par la suite, nous entamerons la partie étude de l’existant par une présentation de l’organisme d’accueil et l’existant en termes de systèmes d’information et processus au sein de la direction terminal a conteneur. Cette partie sera suivi par une analyse des besoins dans laquelle nous identifions les besoins analytiques de la DTC et nous proposons la solution adéquate. La partie suivante sera consacrée à la conception de notre solution, nous aborderons la conception de la zone d’entreposage et celle de la zone d’alimentation, Avant de conclure, nous aborderons les aspects techniques de la solution ainsi que l’aspect sécurité. Nous terminerons cette présentation par une conclusion et les perspectives envisageables dans un future proche afin d’améliorer notre travail. 3. Implementation 4. Conclusion 6. Future work
INTRODUCTION 1 Après avoir diagnostiqué le SI de la DTC, nous avons ressortis les besoins fonctionnels et analytiques. Pour ce faire, nous avons adopté la démarche suivante:
PROJECT CONTEXT Experiments Administrative Accelerators Oracle Databases Backup & recovery system 2
Backup & Recovery activities PROJECT CONTEXT Logs generation Logs Analysis 3 2 4 1 Monitoring of Backup & Recovery activities Backup & Recovery Operations 3
PROBLEM STATEMENT Notifications via email Knowledge loss Dans ce contexte, les systèmes de la DTC sont orientés pour la gestion et ne peuvent pas être exploités pour la prise de décisions qui devient très ardue avec la grande quantité de données. Cela expose l’entreprise à certaines difficultés qui peuvent être résumées comme suit : Procédures d’entreposage des conteneurs inadaptées, ceci affecte la gestion et le contrôle des conteneurs dans les parcs. Difficultés de détection des avaries récurrentes qui surviennent aux conteneurs en cours de transport. L’inadaptation du système actuel pour le suivi permanent des attentes causant l’arrêt partiel ou total des activités portuaires. Ces arrêts engendrent à la fois une perte d’argent pour l’EPAL et une fuite des clients vers l’autre concurrent, à savoir le géant DPW (Dubaï Port World). Prévisions non exactes sur les quantités de marchandises débarquées et/ou embarquées. Ceci est due l’inexploitation des variations qui se sont produits dans les années précédentes. Mauvaise qualité de données : Les données existantes dans les bases de données transactionnels sont parfois de mauvaise qualité. Ceci est dû au taux élevé d’insertion dans ce type de bases. - Non disponibilité de l’information en temps réel Loss of time in the analysis Analytical difficulties of large volume of logs Monitoring difficulties 4
OBJECTIVES Analyze log errors and extract knowledge form it Pour répondre à cette problématique, la DTC souhaite mettre en place une solution, dont les principaux objectifs sont: - Améliorer les procédures d’entreposage des conteneurs ainsi que leur livraison ou exportation. - Réduire au maximum les délais nécessaires pour l’affectation des conteneurs dans les différents parcs de la direction Conteneur. - Garantir une meilleure prévision des quantités de marchandises importées au port et donc minimiser au maximum le temps de débarquements des conteneurs. - Diminuer les avaries et le temps nécessaire pour leur prise en charge. - Réduire les attentes et dissimuler leurs causes. - Historier les données cohérentes, crédibles et fiables permettant de faciliter leur restitution. - Réduire le temps nécessaire à la prise de décision afin de faciliter le suivi de l’évolution du trafic des conteneurs depuis leur arrivée et jusqu’à leur livraison ou exportation. Improve proactiveness Provide a smart alert system Provide statistics of backup & recovery activities 5
THE ELASTIC STACK 2 Après avoir diagnostiqué le SI de la DTC, nous avons ressortis les besoins fonctionnels et analytiques. Pour ce faire, nous avons adopté la démarche suivante:
Processes, transform and enrich it THE STACK’S GOAL Search Store it Toute entreprise vise à augmenter son chiffre d’affaire et accroitre sa valeur ajoutée pour gagner en parts de marché et fidéliser ses clients. Ces objectifs stratégiques sont atteints en ayant un système de pilotage efficace. Ce système de pilotage peut se traduire par un système décisionnel permettant aux décideurs d’avoir une meilleure autonomie, en augmentant leur pouvoir décisionnel et en assurant un meilleur pilotage de l’organisation. De plus, ce système permet de faire évoluer l’activité de l’organisation pour avoir un avantage concurrentiel plus important et fidéliser ses clients. Analyse Processes, transform and enrich it The Elastic Stack Any source, any format Visualize 7
COMPONENTS OF THE ELASTIC STACK Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. 8 8
PROCESS OF LOG ANALYSIS WITH ELASTIC STACK 1 Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. 4 Visualize manage Collect Store, search analyse & 2 & Beat input plugin 3 Filter plugin Output plugin Transform 9 8
IMPLEMENTATION 3 Après avoir diagnostiqué le SI de la DTC, nous avons ressortis les besoins fonctionnels et analytiques. Pour ce faire, nous avons adopté la démarche suivante:
IMPACT OF USING ELASTIC STACK BEFORE AFTER $ grep ' 30[1234] ' /var/logs/apache2/access.log | grep -v baidu | grep -v Googlebot … http://logs.cern.ch:5601 HELP! Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. 11 8
LOG STRUCTURED Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. 12 8
VISUALISATION OF LOGS Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. 13 8
4 CONCLUSION Après avoir terminer la conception, nous passons à l’étape de mise en œuvre de l’ED,
CONCLUSION Collecting logs with beats Parsing logs with logstash Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. Parsing logs with logstash Centralized logs into elasticsearch Visualize logs with Kibana 15 8
FUTURE WORK 5 Après avoir terminer la conception, nous passons à l’étape de mise en œuvre de l’ED,
FUTURE WORK Visualize the log analysis results with dashboards Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. Analyse the logs history and identify some trends Predict the error logs with machine learning algorithms 17 8
THANK YOU FOR YOUR ATTENTION
QUESTIONS? Yasmine NASRI Computer Science engineer CONTACT Yasmine NASRI Computer Science engineer yassimene.nasri@gmail.com yasmine-nasri yassimene
REFERENCES [Gormley & Tong, 2015] Gormley, C. Tong, Z. (2015). Elasticsearch: The Definitive Guide. [Sharma, 2016] Sharma, C. (2016). Beginning Elastic Stack. Pour atteindre cet objectif, la prise de décision suit un processus composé de 4 étapes: - Collecter les données nécessaires à la prise de décision, à partir de sources hétérogènes (bdd, excel, fichiers plats, web services…) - Stocker ces données dans des entrepots, après avoir subi des transformation afin de faciliter leur exploitation et leur restitution Distribuer ces données aux utilisateurs finaux En fin, exploiter ces données à travers des outils de reporting et des tableau de bord pour avoir une meilleure prise de décision.. https://www.elastic.co/ https://www.oracle.com/ https://oracle.developpez.com/guide/sauvegarde/rman/