[Logs] Centralisation de logs avec ELK 8/8

Auteur du billet de blog : Nicolas Hilaire - Neotech Solutions

Nicolas Hilaire

Consultant .NET
  Publié le lundi 30 mai 2016

Artisan logiciel particulièrement intéressé par les technologies .NET. Polyvalent et curieux, je suis néanmoins à l'écoute des autres technologies du marché. MVP (Microsoft Most Valuable Professional) de 2007 à 2014, je suis également auteur d'un ouvrage pour apprendre le C#, à destination des débutants et de plusieurs MOOCs sur le C#, Windows Phone ou ASP.NET MVC...

De la même façon que Graylog, ELK est un autre centralisateur de log connu. Voyons voir comment l’utiliser.

Ce billet est le dernier d’une série sur les logs que vous pouvez lire sur ces différents liens :

  1. Pourquoi avoir recours à des logs dans une application
  2. Utiliser Log4Net dans son application
  3. Ecrire un message de log utile
  4. Les appenders Log4Net
  5. Ecrire son propre appender Log4Net pour loguer dans MongoDB
  6. Centraliser les logs avec GrayLog
  7. Loguer dans GrayLog depuis une application Windows Phone
  8. Centralisation de logs avec ELK

 

ELK veut dire Elasticsearch / Logstash / Kibana.

Elasticsearch, nous en avons déjà parlé dans le billet sur Graylog, est un moteur d’indexation et de recherche.

Logstash est un outil permettant de récupérer et de filtrer des logs depuis plusieurs sources. Il fonctionne très facilement avec ElasticSearch.

Enfin, Kibana c’est simplement l’IHM qui va aller lire les logs dans Elasticsearch et les affichers dans des graphiques, des histogrammes voire même sur des cartes.

Personnellement, je ne suis pas super fan d’ELK car il est assez compliqué à configurer et je trouve l’interface graphique peu intuitive, mais bon, comme il est très à la mode, on ne pouvait pas passer à côté.

Comme l’installation est assez complexe, et qu’en bon développeur fainéant, je n’aime pas perdre du temps pour rien, j’ai à nouveau utilisé un container pour lancer une stack ELK, dans Azure. (N’oubliez-pas d’ouvrir les ports TCP 9200 pour elasticsearch et 5601 pour Kibana).

Du coup, ici, je ne me sers pas de logstash car nous allons envoyer directement les logs à Elasticsearch, grâce à un appender :

 

 

 

La configuration la plus basique de l’appender est la suivante :

N’oubliez pas de déclarer le logguer :

Démarrons notre petit programme pour commencer à loguer, car détail important, pour pouvoir configurer Kibana, il vous faut au moins déjà un log enregistré car il va s’en servir pour sélectionner l’index d’Elasticsearch :

Puis vous pourrez faire des recherches de vos logs :

A noter qu’un des aspects qui en jette avec Kibana, c’est sa multitude de graphiques dont la fameuse carte que l’on peut voir sur la copie d’écran ci-dessous :

 

Voilà pour cet aperçu de Kibana qui est un outil très puissant de visualisation.

Et c’en est fini de cette petite série sur les logs, qui j’espère vous aura donné envie de loguer, et de loguer mieux !

Happy logging.