Vous êtes sur la page 1sur 21

Rapport du stage d’ouvrier

1re Année du Cycle d’ingénieur


Année Universitaire : 2020/2021

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.

Au terme de ce travail, je tiens à exprimer toute ma gratitude à mon encadrant Mr


LYHYAOUI Abdelouahid, professeur à l’ENSA Tanger. Merci pour sa disponibilité
indéfectible , son soutien , son accompagnement et ses conseils judicieux qui m’ont
permis de faire avancer tout au long de cette période spéciale .

Je tiens à remercier Monsieur BAHJI Salaheddine le directeur de l’Ecole des


sciences de l’information .Je remercie bien évidemment le corps professoral de
l’Ecole des sciences de l’information qui contribue à l’amélioration de notre formation
et qui nous permet d’acquérir les compétences requises à la réalisation de missions
en entreprise. En faisant preuve d’une grande ouverture .

Je tiens aussi à exprimer ma plus grande reconnaissance à Mme LYHYAOUI Laila,


pour m'avoir accueillie au sein de son entreprise ainsi que les autres membres de
l'équipe MEDNOUR Consulting pour leur accueil chaleureux , de m’avoir accepté
comme stagiaire.

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.

Ce rapport de stage vous présentera les différents aspects de mes missions.


De prime abord je vais présenter l’entreprise MEDNOUR Consulting ,ensuite je vais
parler de l’environnement big data , de plus exposé la notion d’architecture big data ;
ses composantes et ses couches , enfin le dernier chapitre est consacré à nous
contributions , l’architecture proposé pour mettre en avant un processus de collecte,
intégration ,traitement et visualisation des résultats.

En annexe je présenterais le guide d’installation et d’utilisation réalisé l’architecture


obtenu ainsi que les fiches complémentaires de rapport de stage .

TABLE DES MATIÈRES

3
REMERCIEMENT 2

RÉSUMÉ 3

TABLE DES MATIÈRES 4

GLOSSAIRE ET LISTE DES ABRÉVIATIONS 5

LISTE DES FIGURES OU ANNEXES : 5

INTRODUCTION 6

L'ENTREPRISE ET SON SECTEUR D'ACTIVITÉ : 7


PRÉSENTATION D’ORGANISME D’ACCUEIL 7
SERVICES OFFERTES 7
PROBLÉMATIQUE ET OBJECTIF 8
PROBLÉMATIQUE 8
OBJECTIF 8

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

WEBOGRAPHIE & BIBLIOGRAPHIE 20

ANNEXES 20

GLOSSAIRE ET LISTE DES ABRÉVIATIONS


ELK : Elasticsearch Logstash Kibana
JSON : JavaScript Object Notation
HDFS : Hadoop Distributed File System

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.

LISTE DES FIGURES OU ANNEXES :


FIGURE 1 : Logo de MEDNOUR Consulting
FIGURE 2 : Organigramme des unités opérationnelles du groupe MEDNOUR Consulting
FIGURE 3 : Les 5 V du Big Data
FIGURE 4 : Architecture Big Data.
FIGURE 5 : Architecture du scénario multisource / temps réel

FIGURE 6 : Logo ELk


FIGURE 7 : Logo Elasticsearch
FIGURE 8 : Logo Logstash
FIGURE 9 : Logo Kibana
FIGURE 10 : Fonctionnement ELK
FIGURE 11 : Lancement & test d’Elasticsearch
FIGURE 12 : Lancement & test de Kibana
FIGURE 13 : Les tableaux de bord dans Kibana
TABLEAU 1 : Les types de recherche sur KIbana

INTRODUCTION

Dans le cadre de ma formation d’ingénieur à l’Ecole des sciences de l’information ,


j’ai réalisé un stage d’ouvrier , chez MEDNOUR Consulting, entre 02 Août 2021 et
30 Août 2021. Mon stage s’est déroulé au sein des services INGÉNIERIE
APPLICATIVE .où j’ai intégré les équipes de services de conseil dans le secteur Big
data et SRs.
Pendant ce stage, j’ai eu l’opportunité de participer à des missions diverses qui
m’ont permis d’apprendre le métier de consultant et de m’épanouir aussi bien sur le

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.

Ce stage m'a permis ainsi de bien comprendre l'organisation du travail et la


demarche de realisation des applications métiers d’un ingénieur applicatif

- La formalisation des besoins


- La réalisation du progiciel adapté à votre demande
- La maintenance du logiciel
- Le déploiement de la solution
- La formation aux utilisateurs

L'ENTREPRISE ET SON SECTEUR D'ACTIVITÉ

1.1 PRÉSENTATION D’ORGANISME D’ACCUEIL

6
Figure 1 - Logo de MEDNOUR Consulting

MEDNOUR Consulting - est une startup basée à Tanger , créée en 2017 ,


spécialisée dans la recherche scientifique et les services expérimentés , MEDNOUR
Consulting met au cœur de ses préoccupations le développement de solutions
innovantes adaptées aux exigences du marché et aux contraintes de ses clients.
S'appuyant principalement sur la RD et alliant expertise et compétences, MEDDOUR
Consulting témoigne d’un savoir faire de haut niveau dans différents secteurs
d’activités : Industrie , Santé , Transport , Logistique , Banque et Finance
Les principaux services d’activité de MedNour Consulting sont :

- Recherche scientifique
- Développement informatique
- Intégration des données
- Industrie 4.0
- Fiche technique

1.2 SERVICES OFFERTES

Le groupe MEDNOUR Consulting est constitué de cinq grandes unités


opérationnelles (Métiers et secteurs d'activités) différentes :

7
Figure 2 - Organigramme des unités opérationnelles du groupe MEDNOUR Consulting

1.3 PROBLÉMATIQUE ET OBJECTIF

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 .

2.1. LES DIMENSIONS DU BIG DATA


Le Big Data, c'est traiter des volumes de données conséquemment supérieurs à
ceux traités auparavant, à une Vitesse incomparable, le tout en intégrant une variété
de données largement plus riche.

Figure 3 - Les 5 V du Big Data

■ V, comme Volume : le Big Data, c’est donc un volume exceptionnel de données


■ V, comme Vitesse : le Big Data, c’est un traitement des données rapide
■ V, comme Variété : les produits de différentes sources dans différents formats
■ V, comme Véracité : les données qui sont incertaines et doivent être vérifiées.
■ V, comme Valeurs : valeurs ajoutées aux données évaluées par analyse.

2.2. LES DOMAINES D’UTILISATION DU BIG DATA

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

Les solutions Big Data impliquent généralement, un ou plusieurs des types de


charge de travail suivants :

• Batch processing :Traitement par lots de sources de big data au repos.


• Real-time processing : Traitement en temps réel de données volumineuses en
mouvement.
• Exploration interactive des big data.
• Analyse prédictive et apprentissage automatique.

Figure 4 - 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.

- Batch processing : En raison de la taille des ensembles de données, une


solution Big Data doit souvent traiter les fichiers de données à l'aide de tâches batch
de longue durée afin de filtrer, d'agréger et de préparer les données pour l'analyse.
En général, ces tâches consistent à lire les fichiers sources, à les traiter et à écrire
les résultats dans de nouveaux fichiers.

- L'ingestion de messages en temps réel : Si la solution comprend des


sources en temps réel, l'architecture doit inclure un moyen de capturer et de stocker
les messages en temps réel pour le traitement en flux. Il peut s'agir d'un simple
magasin de données, où les messages entrants sont déposés dans un dossier pour
être traités. Cependant, de nombreuses solutions ont besoin d'un magasin
d'ingestion de messages pour servir de tampon aux messages et prendre en charge
le traitement à grande échelle, la livraison fiable et d'autres sémantiques de mise en
file d'attente des messages.

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.

2.4. COUCHES DE L’ARCHITECTURE BIG DATA


L'architecture Big Data permet de concevoir le pipeline de données en fonction des
différentes exigences du système de traitement par lots on du système de traitement
en continu. Cette architecture se compose de 6 couches, qui assurent un flux de
données sécurisé.

- 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 collecte des données : transport des données de la couche


d'ingestion vers le reste du pipeline de données.

- Couche de traitement des données : acheminer les données vers une


destination différente et classer le flux de données, et c'est le premier point où
l'analyse peut avoir lieu.

- 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 .

- Couche d'interrogation des données : Il s'agit de la couche architecturale où


le traitement analytique actif des Big Data a lieu. Ici, l'objectif principal est de
rassembler la valeur des données pour qu'elles soient plus utiles à la couche
suivante. Les outils de requête pour l'analyse du Big Data : Apache Hive , Apache
Spark SQL , Amazon Redshift , Presto SQL Query Engine

- Couche de visualisation des données : La visualisation, ou niveau de


présentation, est probablement le niveau le plus prestigieux, celui où les utilisateurs
du pipeline de données peuvent ressentir la VALEUR des Données.
Les différents outils qui permettent de créer des tableaux de bord de visualisation de
données sont : Kibana et Grafana .

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 .

Figure 5 - Architecture du scénario multisource / temps réel

3.2 PRÉPARATION D’ENVIRONNEMENT DE TRAVAIL

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.

Figure 6 - Logo ELk

3.3 LES RÔLES DES COMPOSANTS :


Elasticsearch : en charge de l'indexation et du stockage de vos informations sur
une base de données NoSQL qui est basé sur le moteur de recherche Apache
Lucene et il est construit pour fournir des APIS rest. Il offre un déploiement simple,
une fiabilité maximale et une gestion facile. Il propose également des requêtes
avancées pour effectuer une analyse détaillée et stocke toutes les données de
manière centralisée. Il est également utilisé sur de nombreux projets hors la suite
ELK car il permet d'exécuter une recherche rapide des documents.

Figure 7 - Logo Elasticsearch

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.

Figure 9 - Logo Kibana

3.1 COMMENT FONCTIONNENT-ILS ENSEMBLE ?

Figure 10 - Fonctionnement ELK

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

installer le JRE à partir d'OpenJDK 11

sudo apt install default-jre


Vérifier la version de Java
java -version

Étape 2 : Installez Elasticsearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

É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

Étape 4 : ajoutez le dépôt Elasticsearch sur votre système :


echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main"|sudo tee -a
/etc/apt/sources.list.d/elastic-7.x.list

Étape 5 : mettre à jour vos référentiels et installer Elasticsearch:


sudo apt-get update -y && sudo apt-get installelasticsearch

15
Figure 11 - Lancement & test d’Elasticsearch

4.2 INSTALLATION -KIBANA


Étape 1 : Installez Kibana
sudo apt-get install kibana

Étape 2 : Démarrer Kibana


sudo systemctl start kibana
Si jamais vous rencontrez des problèmes d'initialisation, veuillez vérifier les logs du
service kibana comme suit :
sudo journalctl -f -u kibana

Étape 3 : Lancement & test


Pour tester Kibana, ouvrez dans votre navigateur l'url http://localhost:5601 afin de
voir la page d'accueil Kibana :

16
Figure 12 - Lancement & test de Kibana

4.3 INSTALLATION -LOGSTASH


Étape 1 : Installez Logstash
sudo apt-get install logstash
Étape 2 : Démarrer Logstash
sudo systemctl start logstash
Pour initialiser le service Logstash à chaque démarrage de la machine, lancez la
commande suivante :
sudo systemctl enable logstash
Pour tester votre installation Logstash, vous devez configurer un pipeline de
données.

4.4 UTILISATION ET EXPLOITATION DU STACK ELK


Dans ce chapitre nous avons appris à utiliser plus en profondeur la suite ELK en
partant des différentes fonctionnalités du stack afin d'élaborer un guide d’utilisation
qui permettra une meilleure expérience cliente .

les principales opérations que vous pouvez effectuer sur un document


● Indexer un document
● Récupérer des documents
● Mise à jour des documents
● Supprimer des documents
Les raisons d' utiliser la pile ELK
● ELK fonctionne mieux lorsque les journaux de diverses applications d'une
entreprise convergent en une seule instance ELK

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

Résultat : On accède à l’interface Kibana

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.

Voici les types de recherche les plus courants :

Type de recherche Usage

Recherches textuelles libres Rechercher une chaîne spécifique

Recherches au niveau du Rechercher une chaîne dans un champ spécifique


champ

18
Énoncés logiques Combiner les recherches dans une instruction
logique.

Recherches de proximité Rechercher des termes à proximité de caractères


spécifiques.

Tableau 1 : Les types de recherche sur KIbana

les fonctionnalités importantes de Kibana :

● Puissant tableau de bord frontal capable de visualiser les informations


indexées du cluster élastique
● Permet la recherche en temps réel des informations indexées
● Vous pouvez rechercher, afficher et interagir avec les données stockées dans
Elasticsearch
● Exécutez des requêtes sur les données et visualisez les résultats dans des
graphiques, des tableaux et des cartes
● Tableau de bord configurable pour découper et découper les journaux de
logstash dans Elasticsearch
● Capable de fournir des données historiques sous forme de graphiques, de
tableaux, etc.
● Tableaux de bord en temps réel facilement configurables
● Kibana ElasticSearch permet la recherche en temps réel des informations
indexées .

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 .

En définitive, j'ai fortement apprécié ce stage au sein de l’entreprise MED-NOUR


Consulting et pense être ressorti grandi de cette expérience , ce qui m’ a laissé de
bons souvenirs, et m'a donné de quoi envisager plus clairement mon avenir
professionnel.

WEBOGRAPHIE & BIBLIOGRAPHIE


Apprendre ELK
Formation Elastic stack
Elasticsearch : le moteur de recherche flexible
Interrogez efficacement vos bases de données avec ElasticSearch
ElasticSearch Commands Cheat Sheet
Les problématiques ElasticSearch
Installation ELK
Logstash Tutorial

20
ANNEXES
Guide d’installation et d’utilisation du stack ELK

21

Vous aimerez peut-être aussi