VT2015 Kibana Logstash

From air
Jump to navigation Jump to search

Présentation

Enseignants : D. Donsez, GP. Bonneau

Sujet : Visualisation de Journaux : Démonstration de Logstash et Kibana

Auteur : Vivien Michel

Date : 09/10/15

Document

Slides de présentation

Abstract

Server applications generate operation logs. They can count on, per dayor even hourly thousands of reporting lines. In order to use them to monitor the system or make improvements, in order their existence provides information that man can handle, it is necessary to sort and edit visualization techniques. Indeed, a search information, to get the evolution of a given function of timecan not be done efficiently by reading raw logs, especially cause the large amount of it. So tools such as Logstash and Kibana have been developed. Thereof through the Elastic Database Search, provide a graphic display system of the information contained in the logs. With these tools, any user is able to analyze these logs and so debug / improve server application.

Résumé

Les applications serveurs génèrent des journaux de fonctionnement. Ceux-ci peuvent compter, par jour, voir par heure des milliers de lignes de compte rendu. Afin de les utiliser pour surveiller le système ou apporter des améliorations, afin que leur existence apporte des informations que l'homme peut traiter, il est nécessaire de les trier et de modifier les techniques de visualisation. En effet, chercher une information, avoir l'évolution d'une donnée en fonction du temps, ne peut être fait efficacement par la lecture des logs bruts, notamment par la grande quantité de celle-ci. Ainsi, des outils tels que Logstash et Kibana ont été développés. Ceux-ci, à travers la base de données Elastic Search, offrent un système de visualisation graphique des informations contenues dans les logs. Grâce à ces outils, tout utilisateur est en mesure d'analyser ces journaux et ainsi déboguer/améliorer l'application serveur.

Journaux Bruts

Exemple de "Raw Log". Journaux Apache sur une journée :

Log brut.png

Il est facile de voir sur l'image ci-dessus, que le trie et l'interprétation des données demandent un effort particulier au lecteur. Même avec un certain degré d'expertise, la durée des deux étapes préalablement citées n'est pas négligeables. Dès lors, il faut automatiser le traitement si l'on multiplie les logs et les applications serveurs. De plus, croiser des données entre différents serveurs devient impossible si l'on doit chercher dans de multiples types de journaux possédant une syntaxe différente.

Logstash : Formatage et Filtrage

Définition des Input

Création de filtres

Définition des Output

Elastic Search

Ce programme est un outil de stockage où les données sont indexées pour être retrouvée facilement. Il utilise une base de données NoSQL. Le système est construit selon une architecture REST et permet d'obtenir des informations sur celui-ci suivant une API. Elle est particulièrement adaptée aux cloud et aux systèmes Big Data. En effet, cette base fonctionne selon un principe de cluster. Elle a la capacité de répartir les données indexés sur différents nœuds de façon totalement transparentes pour l'utilisateur. Chaque nœud possède une instance d'Elastic Search qui communique avec les autres et contient des fragments de données indexées. Ainsi, cela permet d'utiliser la puissance des différentes machines du cluster (stockage, mémoire vive ou processeur), et donc de répartir la charge (load balancing). Le système a la propriété d'être scalable. On peut donc ajouter des instances de façon dynamiques. La robustesse est assurée par un système de réplica. Chaque machine (noeuds) possède une image et l'état dans lequel se trouve le système mise à jour à chaque modification. Ainsi, si un nœud du cluster tombe et qu'il contient une partie de l'index, Elastic Search ira chercher dans le réplica. Lorsqu'un noeud est en charge, Elasticsearch fait automatiquement suivre les requêtes vers le nœud contenant le réplica correspondant .

Kibana

Choix des index à traiter

Création de Visualisation

Insertion des Graphiques dans le tableau de bord

Kibana.png

Conclusion

Bibliographie