Académique Documents
Professionnel Documents
Culture Documents
Mise en place d’un outil d'analyse de logs avec elk dans un environnement Big
Data
Réalisé par :
Abir Oumghar (Groupe B)
Encadré par :
M . LYHYAOUI Abdelouahid
Année Académique : 2017-2018
1
REMERCIEMENT
Ce rapport intervient au terme de mon stage de 1re année au sein de la de
l’entreprise MEDNOUR Consulting, à Technopark-Tanger.
Ce fut une expérience enrichissante aussi bien sur le plan professionnel que
personnel.
2
RÉSUMÉ
Au cours de ce stage, j'ai acquéris de nouveaux apprentissages ,en transformant les
connaissances acquises pendant ma formation du 1er année à l'ecole des sciences
de l'information, tel que le traitement des métadonnées ,la gestion des bases de
données ,et l’analyse du contenu grâce aux outils de référencement ,en occasion
d'expérimentation.
3
REMERCIEMENT 2
RÉSUMÉ 3
INTRODUCTION 6
ETUDE THÉORIQUE 9
LES DIMENSIONS DU BIG DATA 9
LES DOMAINES D’UTILISATION DU BIG DATA 9
ARCHITECTURE BIG DATA 10
COUCHES DE L’ARCHITECTURE BIG DATA 11
RÉALISATION 12
PROPOSITION DE SCÉNARIO 12
PRÉPARATION D’ENVIRONNEMENT DE TRAVAIL 12
LES RÔLES DES COMPOSANTS : 13
COMMENT FONCTIONNENT-ILS ENSEMBLE ? 14
APPLICATION DU STAGE 14
INSTALLATION-ELASTICSEARCH 15
INSTALLATION -KIBANA 16
INSTALLATION -LOGSTASH 17
UTILISATION ET EXPLOITATION DU STACK ELK 18
CONCLUSION 19
ANNEXES 20
4
SQL : Structured Query Language
APT : Advanced Packaging Tool
NoSQL : Not Only SQL
API : Application Programming Interface
JRE : Java Runtime Environment
OpenJDK : Open Java Development Kit
CURL : Client URL Request Library.
INTRODUCTION
5
plan professionnel que personnel. Les services de conseil se caractérisent par un
besoin permanent de positionner leurs offres par rapport aux tendances du marché à
l’émergence de nouvelles technologies. Ainsi, la mission principale de mon stage a
été la réalisation d’une architecture ELK , et de présenter un guide d’installation et
d’utilisation , ce qui permettra aux clients d’analyser , de stocker , et de visualiser
des données massives en quelques secondes, en s’appuyant sur des requêtes
simples .Dans le cadre de ma deuxième mission, j’ai participé avec à un projet
d'élaboration d’un guide d’installation et d’utilisation des différentes logiciels de
l’architecture Big data (Nifi,Spark,ELK,Kafka,...) , en assurant la compatibilité entre
les différents systèmes et en essayant d'établir les liens nécessaires, afin de
transférer les données correctement . Cependant, pour des raisons de
confidentialité, juste une partie de cette mission sera détaillée dans le présent
rapport.
6
Figure 1 - Logo de MEDNOUR Consulting
- Recherche scientifique
- Développement informatique
- Intégration des données
- Industrie 4.0
- Fiche technique
7
Figure 2 - Organigramme des unités opérationnelles du groupe MEDNOUR Consulting
Problématique
Au vu de l'état actuel des systèmes d'informations qui sont caractérisés par leur
volume croissant, leur hétérogénéité en termes de source et de structure des
données, l'accès à une information pertinente adaptée aux utilisateurs est un vrai
challenge. Ce travail présente une des nouvelles technologies d'information; Le
stack ELK (Elasticsearch, Logstash, Kibana) , qui permet non seulement de fournir
des informations pertinentes aux utilisateurs, mais également au moment où ils ont
le plus besoin.
Objectif
Notre objectif consiste à d'étudier les possibilités offertes pour réaliser un bon
traitement des informations ,en commençant par comprendre le fonctionnement des
différents systèmes d’une architecture big data , ensuite en utilisant l’indexation et
la recherche de contenu basé sur des documents JSON avec ElasticSearch , pour
passer finalement à stocker et visualiser ces données selon le besoin de l’utilisateur
,ce qui permet de fournir une idée du fonctionnement des moteurs de recherche et
les problèmes qu’ils résolvent . et pour réaliser un guide d'utilisation complet du
stack ELK afin d'exploiter le maximum des fonctionnalités proposées par chaque
outil ,pour arriver à la meilleure expérience client possible .
8
ETUDE THÉORIQUE
La première chose que j'ai eu l'occasion de faire durant mon stage, a été de me
renseigner sur l'environnement Big Data , de définir le terme , et ces dimensions
couramment connu sous les 5v (volume, velouté, variété, véracité et valeur ) par la
suite développer une idée de son domaine d'utilisation et de ses défis .
Le Big Data peut améliorer les performances dans plusieurs domaines, parmi eux:
La recommandations, l'analyse de sentiments ou opinion mining, la modélisation des
risques, la détection de fraudes, l'analyse des graphes sociaux, la résiliation clients
et l'analyse campagne marketing. Les Big Data trouvent aussi de nombreux
domaines d'application dans la santé, la recherche médicale ou pharmaceutique.
Elles participent à l'amélioration des performances des chercheurs, des scientifiques
ou des sportifs. En une seule phrase, ces Big Data restent toujours un input d'une
transformation innovatrice dans tous les domaines .
9
2.3. ARCHITECTURE BIG DATA
- Stockage des données : Les données pour les opérations de traitement par lots
sont généralement stockées dans un magasin de fichiers distribué qui peut contenir
de gros volumes de fichiers volumineux dans divers formats.
10
- Traitement du fluor : Après avoir capturé les messages en temps réel, la
solution doit les traiter en les filtrant, en les agrégeant et en préparant les données à
l'analyse. Les données de flux traitées sont ensuite écrites sur un puits de sortie.
- Couche d'ingestion des données : déplacer les données et sur toutes les
données non structurées de leur lieu d'origine vers un système où elles peuvent être
stockées et analysées. Parmi ses outils :Apache Flume ,Apache Nifi ainsi que
Elastic Logstash.
- Couche de stockage des données : trouver une solution de stockage est très
important lorsque la taille de vos données devient importante. Cette couche de
l'architecture Big Data se concentre sur "l'endroit où stocker efficacement de telles
données volumineuses".
Les différents types d'outils de stockage de données utilisés pour traiter le Big Data
sont ; HDFS Hadoop Distributed File System , GlusterFS , elasticsearch ,Amazon S3
Storage Service .
11
RÉALISATION
3.1 PROPOSITION DE SCÉNARIO
Cette partie est consacrée à nos contributions ,nous proposons une architecture de
technologie qui met en avant tout un processus dès la collecte,I'intégration, le
prétraitement, le traitement des données au sein du système BIG DATA jusqu'à
l'extraction et la visualisation des résultats .
Environnement matériel
Sur un système sous Windows 10
● Invite de commandes ou Powershell
● Un outil pour extraire les fichiers .tar, comme 7-Zip
● Un compte d'utilisateur avec des privilèges d'administrateur (requis pour
installer le logiciel, modifier les autorisations de fichier et modifier le CHEMIN
du système)
● Le paquets ZIP ou tar.gz
Sur une machine Linux une installation à l'aide du gestionnaire de paquets APT .
Environnement logiciel
12
ELK
Le stack ELK est un acronyme utilisé pour décrire une pile qui comprend trois projets
open sources populaires : Elasticsearch, Logstash et Kibana , permettant de
rechercher, d’analyser et de visualiser en temps réel, des données issues de n'importe
quelle source et sous n’importe quel format.
Logstash : outil d'intégration de données open source qui vous permet de collecter
des données à partir d'une variété de sources, de les filtrer, les transformer et de les
envoyer à la destination souhaitée (ex: Elasticsearch). Son but principal est de
rassembler et normaliser tous les types de données provenant de différentes
sources et de les rendre disponibles pour une utilisation ultérieure.
13
Figure 8 - Logo Logstash
Kibana : outil de visualisation de données qui complète la pile ELK , c'est une
couche de visualisation qui fonctionne au-dessus d'Elasticsearch, offrant aux
utilisateurs la possibilité d'analyser et de visualiser les données récupérées
Elasticsearch. C'est un outil puissant offrant pour vos tableaux de bord divers
diagrammes interactifs, données géographiques et graphiques pour visualiser les
données les plus complexes.
D’abord Logstash sera utilisé pour récupérer, filtrer et normaliser des informations
liées à vos logs issues de différentes sources. Une fois cela fait, Logstash envoie
ces informations dans un système de stockage ici Elasticsearch qui quant à lui se
chargera d'indexer, stocker et effectuer une recherche et une analyse en temps réel
de vos données. Enfin, Kibana récupère ces données afin de fournir un système de
visualisation et d'exploration en plus de Logstash et Elasticsearch afin que vous
puissiez facilement comprendre vos données sous forme de tableaux et de
graphiques.
14
APPLICATION DU STAGE
4.1 INSTALLATION-ELASTICSEARCH
Étape 1 : Installez JAVA
Étape 3 : Si vous êtes sur une machine de la famille de Debian, vous devez
installer le paquet apt-transport-https :
sudo apt-get install apt-transport-https
15
Figure 11 - Lancement & test d’Elasticsearch
16
Figure 12 - Lancement & test de Kibana
17
● Il fournit des informations étonnantes pour cette instance unique et élimine
également le besoin de se connecter à une centaine de sources de données
de journal différentes.
● Installation rapide sur site
● Facile à déployer Échelles verticalement et horizontalement
● Elastic propose une multitude de clients linguistiques, dont Ruby. Python.
PHP, Perl, .NET, Java et JavaScript, et plus encore
● Disponibilité de bibliothèques pour différents langages de programmation et
de script
F
igure 13 - Les tableaux de bord dans Kibana
Kibana est une visualisation de données qui complète la pile ELK. Le tableau de
bord Kibana propose divers diagrammes interactifs, données géospatiales et
graphiques pour visualiser des requêtes complexes. Il peut être utilisé pour
rechercher, afficher et interagir avec les données stockées dans les répertoires
Elasticsearch. Kibana vous aide à effectuer une analyse de données avancée et à
visualiser vos données dans une variété de tableaux, de graphiques et de cartes.
Dans Kibana, il existe différentes méthodes pour effectuer des recherches sur vos
données.
18
Énoncés logiques Combiner les recherches dans une instruction
logique.
CONCLUSION
Au cours de ce stage chez MED-NOUR Consulting j'ai appris beaucoup de l'univers
des services et conseils en informatique et de nouvelles technologies tout en
découvrant le fonctionnement d'une société d'équipes , et de consultants
expérimentés.
Rigueur des horaires de présence, création des valeurs ajoutées grâce aux
nouvelles technologies, ainsi que l’adaptation aux besoins des clients, en s’assurant
de la performance et de l'efficacité face au marché ; sont les trois fondements que
j'ai retenus de ce stage.
En outre, cette première expérience fut très enrichissante, aussi bien sur le plan
technique qu'humainement. J'ai eu l'occasion de travailler avec des technologies très
variées, dont une partie furent une découverte. J'ai appris à utiliser Java pour
19
formuler des documents traitables par Elasticsearch, j'ai eu l'occasion de mettre en
pratique mes connaissances d'indexation et de traitement des documents , et J'ai
développé des connaissances sur des outils décisionnels, des bases de données
NoSQL, aussi bien que j'ai découvert la visualisation de graphes avec Kibana .
20
ANNEXES
Guide d’installation et d’utilisation du stack ELK
21