chapitre3 elk concepts_avances
TRANSCRIPT
![Page 1: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/1.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Dans le chapitre 1, nous avons vu comment il était possible de réaliser un dashboard Kibana pour mettre en évidence les données des logs.
Ce travail est rendu possible grâce à Elasticsearch, Logstash et Redis qui permettent la remontée et la structuration des logs vers Kibana.
L’objectif de ce chapitre sera donc de voir comment configurer ce système étape par étape.
![Page 2: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/2.jpg)
Log Processing ElasticsearchChapitre 3 :ELK, Concepts avancésQUERY FILTERING
Contexte général :
![Page 3: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/3.jpg)
Log Processing ElasticsearchChapitre 3 :ELK, Concepts avancésQUERY FILTERING
![Page 4: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/4.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Shipper :
Le Shipper Logstash permet de récupérer les logs et de les centraliser dans Logstash.
Logstash a donc deux rôles dans la solution ELK. D’une part, il récupère les différentes logs pour les stocker dans Redis. D’autre part, il jouera un rôle d’Indexer par la suite en récupérant les données de Redis.
Ce rôle de Shipper est rendu possible en configurant le fichier shipper.conf situé dans le répertoire /users/sth00/conf .
![Page 5: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/5.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Shipper : shipper.conf
2 parties :
-Input : Permet de prendre les fichiers à traiter en entrée(s)
-Output : Permet d’indiquer le traitement à effectuer en sortie(s)
![Page 6: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/6.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Shipper :
Traitement en Input :
![Page 7: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/7.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Shipper :
Traitement en Output :
![Page 8: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/8.jpg)
Log Processing ElasticsearchChapitre 3 :ELK, Concepts avancésQUERY FILTERING
![Page 9: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/9.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Redis Broker : Déploiement classique
![Page 10: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/10.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Redis Broker : Déploiement classique
Le broker permet de servir de buffer entre les agents et le serveur Logstash.C’est-à-dire que Redis va stocker temporairement les données remontées par le shipper Logstash.
- Cela permet d’améliorer les performances de l’environnement Logstash en fournissant une buffer de cache pour les événements de logs.
- Cela permet de fournir de la résilience. Si l’indexer Logstash connaît un problème, alors les événements sont mise en fils d’attente afin d’éviter la perte d’informations.
![Page 11: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/11.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Déploiement sans Redis : Syslog
Dans certains cas, il faut se passer d’un agent Logstash sur les machines hôtes.
- La JVM déployée sur l’hôte est limitée.
- L’hôte dispose de peu de ressources. Impossible d’y installer une JVM ou d’exécuter un agent.
- On ne peut rien installer sur la machine hôte.
On utilise alors des outils systèmes : Syslog. Dans ce cas, on ajoute alors en input au fichier indexer.conf de Logstash les événements Syslog
![Page 12: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/12.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Déploiement sans Redis : Syslog
![Page 13: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/13.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Déploiement sans Redis : Logstash Forwarder
Le dernier cas repose sur Logstash Forwarder, un client léger permettant d’envoyer des messages à Logstash avec un protocole sécurisé (encryption via SSL) et compression de données.
Ce client léger n’est pas encore testé actuellement. Sur le papier, son principal atout est sa faible consommation mémoire et il s’avère utile lorsque la mise en place d’un agent Syslog ou Logstash est impossible.
Son principe de fonctionnement repose sur le fait d’exécuter Logstash Forwarder en lui indiquant via fichiers de config les fichiers à prendre en compte et l’adresse cible niveau serveur.
![Page 14: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/14.jpg)
Log Processing ElasticsearchChapitre 3 :ELK, Concepts avancésQUERY FILTERING
![Page 15: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/15.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer :
3 parties :
-Input : On récupère les données de Redis-Filters : Tri sur les données
- Mise en place des index-Output : Envoi des logs vers Elasticsearch
![Page 16: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/16.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Input
Le fichier indexer.conf a premièrement pour but de récupérer les données de Redis en Input. Mais on peut également récupérer d’autres données et traiter également directement des fichiers, que ce soit des fichiers .log ou encore des fichiers .csv.
On récupère donc les données serveur par serveur et fichier par fichier pour qu’ils soient réinjectés dans Logstash.
![Page 17: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/17.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Input
Données de Redis Données fichiers
![Page 18: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/18.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Il existe plusieurs manières de filtrer :
![Page 19: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/19.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
![Page 20: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/20.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
![Page 21: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/21.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Exemple de filtres sur un fichier .csv
![Page 22: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/22.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Exemple de filtres sur un fichier .csv :
-Ajout de champs renseignant le timestamp ou l’application (principe de key / value)
-Enrichissement de la date
![Page 23: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/23.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Exemple de filtres pour un traitement de log Syslog :
![Page 24: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/24.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Exemple de filtres pour un traitement de log Apache :
![Page 25: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/25.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Exemple de filtres pour un traitement de log Apache :
![Page 26: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/26.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Filters
Grok Filter :
Les filtres Grok reposent sur l’utilisation d’expressions régulières pour extraire l’information des logs.
Logstash est fourni avec un grand nombre de patterns Grok prédéfinis. Cependant, on peut également créer ses propres patterns dans users/sth00/patterns.
Pour mettre en place un pattern, il est possible de s’aider de https://grokdebug.herokuapp.com/ qui effectuera des contrôles sur la validité de l’expression régulière.
![Page 27: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/27.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Output
![Page 28: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/28.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Logstash Indexer : Output
On peut récupérer les erreurs de parsing dues à Grok et les stocker dans un fichier (ici grokfailure.log) .Attention à vérifier la taille du fichier fréquemment pour vérifier qu’il ne sature pas l’espace disque. L’idéal est d’éviter au maximum les erreurs de parsing : En effet, on constate une nette baisse de performance lorsque l’on envoie ces données.
![Page 29: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/29.jpg)
Log Processing ElasticsearchChapitre 3 :ELK, Concepts avancésQUERY FILTERING
![Page 30: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/30.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Elasticsearch : /users/ela00/conf/elasticsearch.yml
Exemple de configuration pour le nœud yval0910
![Page 31: Chapitre3 elk concepts_avances](https://reader035.vdocuments.site/reader035/viewer/2022062308/55cb562bbb61eb390d8b458d/html5/thumbnails/31.jpg)
Log Processing ElasticsearchChapitre 3: ELK, Concepts avancésQUERY FILTERING
Elasticsearch : elasticsearch.yml
Paramétrage pour Kibana et Marvel (outil de surveillance)