La recherche d’information dans les logs a toujours été chronophage tant au niveau humain que du traitement informatique : Connexion au serveur, localisation du fichier, choix du bon outil, rappel de la syntaxe, exécution de la commande, etc.
La société Elastic, éditeur du moteur de recherche ElasticSearch, édite dorénavant une pile de produits répondant spécifiquement au traitement des fichiers journaux et se résumant à « Toutes les réponses à vos questions sont dans vos logs ! ».
Cette formation d’initiation a pour objectif de vous apprendre à mettre en place la solution (stack) de monitoring elastic et à comprendre et configurer ses composants, suite Elastic (Beats, Logstash et Kibana).
La suite Elastic, qui se compose à ce jour d'Elasticsearch, Kibana, elasticsearch, APM, Beats, et va être principalement utilisé pour construire des moteurs de recherche, mais aussi agréger et manipuler des données logs.
Dans cette formation suite Elastic, nous aborderons toutes les fonctionnalités permettant de mettre en place une solution de monitoring complète.
Les points forts de la formation
- Formation pratique à hauteur de 80%.
- Formation fonctionnelle qui vous donne des compétences exploitables sur le terrain.
- Formation prenant en considération les besoins du marché.
10. Introduction à elastic
La stack elastic (anciennement ELK) est un ensemble de solutions open sources
Ils ont étais développées et mis en place afin d’ingérer des données de tout format et
toute source
Objectifs : Effectuer des recherches, analyser et visualiser des données en temps réel
11. La suite elastic
Collecte et transformation
Recherche et analyse
Visualisation et gestion
Data Shipper
12. Une formation
Plan de la formation
Introduction
1. Comprendre l'écosystème de la suite elastic
2. Apprendre à déployer et configurer la suite
elastic
3. Maitriser l'exploration de données avec la suite
elastic
4. Maitriser la gestion des données avec elastic
Conclusion
13. Une formation
Public concerné
Administrateurs systèmes et réseaux,
architectes systèmes et réseaux,
Data Analysts,
Data Scientists et/ou consultants Big Data,
Blue Teams,
Toute personne intéressé par l’IT
22. Introduction à elastic
La stack elastic (anciennement ELK) est un ensemble de solutions open sources
Ils ont étais développées et mis en place afin d’ingérer des données de tout format et
toute source
Objectifs : Effectuer des recherches, analyser et visualiser des données en temps réel
23.
24.
25. Terminologie
Document : Un document peut être considéré comme une unité d’information de
base pouvant être indexée
Index : Un index est un ensemble de documents ayant des caractéristiques
semblables
Nœud : Un nœud est un serveur unique qui fait partie d’un cluster
Cluster : Une grappe est une collection d’un ou de plusieurs nœuds. Toutes les
données sont stockées à travers le cluster (à travers plusieurs nœuds)
Shard : Chaque index dans Elasticsearch est divisé en plusieurs fragments et
chaque fragment peut avoir plusieurs copies. Un index peut potentiellement
stocker une grande quantité de données qui peuvent dépasser les limites
matérielles d’un seul nœud
30. Déploiement en prod
Elasticsearch est un système distribué évolutif qui
peut être utilisé pour la recherche, la journalisation,
les métriques et bien plus encore
Pour exécuter Elasticsearch en production, soit en
auto-hébergé, soit dans le cloud, il faut planifier
l'infrastructure et la configuration du cluster pour
garantir un déploiement de performances sain et
hautement fiable
36. Une base de données qui nous met à disposition un moteur de recherche
Une base Apache Lucene (Java everywhere)
Plusieurs languages clients supportés (Java, Go, .NET, PHP, Ruby, Python…)
Datastore NoSQL
Sans Shemas : Approche orienté Document
API RESTful
Capacité de recherche
Analytics
Introduction
37. Terminologie
Document : Un document peut être considéré comme une unité d’information de
base pouvant être indexée
Index : Un index est un ensemble de documents ayant des caractéristiques
semblables
Nœud : Un nœud est un serveur unique qui fait partie d’un cluster
Cluster : Une collection d’un ou de plusieurs nœuds. Toutes les données sont
stockées à travers le cluster (à travers plusieurs nœuds)
Shard : Chaque index dans Elasticsearch est divisé en plusieurs sous composants
nommés des Shards .
44. Introduction
Kibana donne la possibilités de choisir la dimension d’affichage des données
« Brings the data to life »
Découverte de données
Visualisation de données
Dashboards
Geo Data
Language de requetage : Kibana Query Language
Alternative : grafana
45. Une formation
Cycle de vie d’une donnée
Interface de découverte
Interrogation et recherche de données
Interface de visualisation
Agrégations
Tableau de bord
Timelion
Outils de développement
Interface de gestion
Corrélation
47. Définition
Data shippers
Beats est une plate-forme d'expéditeurs de données légers open source
Son rôle est complémentaire à Logstash
Logstash est un composant côté serveur, tandis que Beats joue un rôle côté client
Beats se compose d'une bibliothèque principale, libbeat, qui fournit une API pour
expédier les données depuis la source, configurer les options d'entrée et implémenter
la journalisation
49. Beats vs Logstash
Consomme beaucoup de mémoire et
nécessite une plus grande quantité de
ressources
Lourd à installer
Si on collecte des journaux à partir de
plusieurs systèmes, on aura pas besoin
d'exécuter le service Logstash sur chaque
système
Basé sur Java nécessitant JVM
Nécessite moins de ressources et
consomme peu de mémoire
Beats sont des expéditeurs de données
légers qui expédieront nos données à
partir de plusieurs systèmes
Beats peut s'exécuter sur tous les
systèmes à partir desquels vous
souhaitez expédier les données
Créé sur la base du langage Go
59. Cluster moyenne entreprises
8 à 12 nœuds
Dédier chaque nœud à un rôle spécifique
Nœuds de données
Nœuds maîtres
Nœuds coordonnateurs
Nœuds d'ingestion
Nœuds d'apprentissage automatique (ML)
Une formation
60. Cluster grandes entreprises
Taille moyenne (Plus de 100+)
Une analyse de performances est conseillé
Utiliser des outil comme Rally
Attention au ratio ram:disk
Une formation
70. Elastic Agent
C’est un agent unique et unifié qu’on peut déployer sur des hôtes ou des conteneurs
pour collecter des données et les envoyer à la Suite Elastic
Grâce à Elastic Agent, on peut collecter des données de toutes formes et sources à
l'aide d'un seul agent unifié par hôte
On a une seule solution à installer, à configurer et à scaler
71. Fleet
Fournit une interface utilisateur Web dans Kibana pour gérer de manière centralisée les agents
Elastic et leurs politiques
On peut voir l'état de tous noss agents Elastic dans Fleet
Sur la page Agents, on peut voir quels agents sont fonctionnelle ainsi que d’autres informations
complémentaires
On peut également voir la version du binaire et de la stratégie Elastic Agent
Fleet sert de canal de communication vers les agents Elastic
72. Méthodologie
Lorsqu'une stratégie est mise à jour, Fleet Server récupère la stratégie mise à jour à partir d'Elasticsearch et l'envoie
aux agents Elastic connectés
Lorsqu'une stratégie est mise à jour, Fleet Server récupère la stratégie mise à jour à partir d'Elasticsearch et l'envoie
aux agents Elastic connectés
Elastic Agent vérifie les mises à jour dans Fleet Server, en maintenant une connexion ouverte
Elastic Agent vérifie les mises à jour dans Fleet Server, en maintenant une connexion ouverte
Elastic Agent utilise les informations de configuration dans la stratégie pour collecter et envoyer des données à
Elasticsearch
Elastic Agent utilise les informations de configuration dans la stratégie pour collecter et envoyer des données à
Elasticsearch
Fleet Server reçoit la demande et obtient la politique d'agent d'Elasticsearch, puis expédie la politique à tous les
agents Elastic inscrits dans cette politique
Fleet Server reçoit la demande et obtient la politique d'agent d'Elasticsearch, puis expédie la politique à tous les
agents Elastic inscrits dans cette politique
Pour s'inscrire à la stratégie, les agents Elastic envoient une demande à Fleet Server, à l'aide de la clé d'inscription
générée pour l'authentification
Pour s'inscrire à la stratégie, les agents Elastic envoient une demande à Fleet Server, à l'aide de la clé d'inscription
générée pour l'authentification
Lorsqu'une nouvelle stratégie d'agent est créée, elle est enregistrée dans Elasticsearch
Lorsqu'une nouvelle stratégie d'agent est créée, elle est enregistrée dans Elasticsearch
79. Introduction
Le langage de requête Kibana (KQL) est une syntaxe simple pour filtrer les données Elasticsearch
à l'aide d'une recherche en texte libre ou d'une recherche basée sur des champs
KQL n'est utilisé que pour filtrer les données et n'a aucun rôle dans le tri ou l'agrégation des
données
KQL est capable de suggérer des noms de champs, des valeurs et des opérateurs lors de la saisie
83. Elastic Common Schema (ECS)
Elastic Common Schema (ECS) est un modèle de données, développé par Elastic et sa
communauté, pour décrire les champs communs utilisés lors du stockage des données dans
Elasticsearch
ECS définit des noms de champ, des organisations et des types de données spécifiques pour
chaque champ stocké dans Elasticsearch
Bien que l'ECS soit un modèle de données, c'est aussi une idéologie selon laquelle les données
doivent être stockées de manière uniforme
90. Introduction
L’alerting est un composant de X-Pack
qui nous offre la flexibilité de créer des
alertes et des notifications basées sur
certaines conditions
En raison de l'exigence d'avoir un
mécanisme d'alerte en temps réel à
travers lequel on peut déclencher
certaines actions en fonction des
conditions spécifiées, le besoin de ce
composant nommé Watcher
91. Schedule
Il est utilisé pour définir l'horaire de la montre sur le moment de
déclencher la montre
Conditions
Il est utilisé pour spécifier les conditions en fonction de la requête
On peut utiliser des conditions simples ou des conditions de script
basées sur l'exigence de génération d'une alerte
Connecteurs
Les connecteurs fournissent un emplacement central pour stocker
les informations de connexion pour les services et les intégrations
Une formation
Bloques du Watcher
92.
93. Il est utilisé pour spécifier la requête qui sert de point de départ, sur la base de laquelle les
conditions peuvent être spécifiées
Watcher prend entièrement en charge Lucene et Elasticsearch Query Language afin de spécifier
n'importe quel type de requête
Requête
94. Il est utilisé pour effectuer les opérations après qu'une condition soit remplie
Les actions peuvent inclure l'envoi d'une notification au canal Slack, l'envoi d'une alerte par e-
mail, etc
Actions
95.
96. Une formation
Surveiller les journaux et si les journaux contiennent des messages GRAVE,
FATAL ou ERREUR, informer l'administrateur système par e-mail avec le
message du journal
Surveiller l'infrastructure en suivant divers paramètres tels que l'utilisation
de la mémoire, l'utilisation du disque, etc
Créer des alertes et ouvrir un ticket JIRA pour l'informer que l'utilisation de
la mémoire ou du disque est élevée et que qu’on a besoin de plus de
disque ou de mémoire
Suivre les publications/tweets sur les réseaux sociaux en spécifiant des
mots-clés et envoyer des alertes si le nombre de publications/tweets
dépasse la valeur spécifiée
Créer des alertes basées sur les mots-clés recherchés par l'utilisateur dans
Elasticsearch
Une formation
Meilleurs pratiques et use cases
97. Mettre en place des alertes
sous elastic
Une formation
Hamza KONDAH
100. Une formation
Bilan
Comprendre l'écosystème de la suite elastic
Apprendre à déployer et configurer la suite elastic
Maitriser l'exploration de données avec la suite
elastic
Maitriser la gestion des données avec elastic