Agence web » Actualités du digital » Qu’est-ce qu’un outil de gestion des journaux et devez-vous en utiliser un?

Qu’est-ce qu’un outil de gestion des journaux et devez-vous en utiliser un?

Kibana

Les fichiers journaux contiennent de nombreuses données importantes sur les performances de votre infrastructure, mais lorsqu’ils comportent des milliers de lignes, il peut être difficile d’obtenir des informations utiles. Les outils de gestion des journaux aident à résoudre ce problème.

Pourquoi devrais-je me soucier des fichiers journaux?

Chaque connexion à votre serveur Web est enregistrée; chaque fois qu’un utilisateur demande une ressource, une ligne dans le fichier journal est écrite. Vous pouvez utiliser ces types de journaux pour obtenir une vue très précise du trafic entrant sur votre site. Ils n’offrent aucune donnée sur la façon dont l’utilisateur interagit avec le site, qui sont laissés aux outils d’analyse, mais ils vous indiquent comment votre serveur Web traite chaque demande.

Le code d’état HTTP de la demande est souvent enregistré, donc ces journaux peuvent être utiles pour traquer les liens rompus et les erreurs qui renvoient 404 (ce qui peut affecter le classement de votre site lorsque les moteurs de recherche comme Google explorent le site), quelque chose qui n’est pas retourné avec la plupart des outils d’analyse (car votre page n’est même pas chargée).

Les applications créent des journaux d’erreurs, ce qui est utile pour localiser les problèmes dans le backend. Si une API particulière provoque des erreurs, elle apparaîtra très rapidement dans les fichiers journaux. Vos propres applications vous obligeront à implémenter vos propres journaux, mais il existe de nombreuses bibliothèques de journalisation qui facilitent le processus.

Unix garde des journaux de tout ce qui se passe avec le système. Chaque commande que vous entrez est enregistrée dans ~/.bash_history, chaque tentative de connexion (y compris les échecs, éventuellement malveillants) est enregistrée dans /var/log/auth.log, et la plupart des autres événements système génèrent leurs propres fichiers journaux, généralement stockés dans /var/log/.

Le problème: trop de serveurs, trop de journaux

La plupart des applications laissent des journaux, une trace écrite de ce que cette application a fait. Certaines applications, comme les serveurs Web, peuvent laisser de nombreux journaux, qui peuvent devenir suffisamment volumineux pour remplir le disque dur de votre serveur et nécessitent une rotation régulière.

Un serveur est assez difficile à gérer, mais la gestion des journaux répartis sur plusieurs serveurs peut devenir une tâche impossible, vous obligeant à vous authentifier sur chaque serveur et à afficher manuellement les fichiers journaux de cette machine particulière.

Les outils de gestion des journaux sont la solution à ce problème, vous permettant de concentrer vos journaux en un seul endroit et de les afficher beaucoup plus facilement. De nombreux services fournissent également des outils de visualisation, vous n’aurez donc pas à fouiller dans dix mille lignes de texte pour trouver des données utiles.

Comment fonctionnent les outils de gestion des journaux?

Un outil de gestion des journaux comme Fluentd fonctionnera quelque part sur un serveur, que ce soit dans le cloud derrière une interface Web gérée ou auto-hébergé sur vos propres systèmes. Le serveur sur lequel cela s’exécute est appelé un serveur d’agrégation et collecte les journaux à partir de plusieurs sources externes.

Le processus commence par l’acquisition: les fichiers journaux du système client sont introduits dans l’agrégateur à l’aide d’un programme appelé expéditeur de journaux. Les expéditeurs de journaux comme le rsyslog Les bibliothèques sont des bibliothèques légères qui se trouvent sur les systèmes clients et pointent vers le serveur agrégé.

Une fois les fichiers journaux ingérés, ce qui leur arrive dépend de l’outil de gestion des journaux. Pour certains outils, la simple collecte d’entre eux suffit et ils peuvent être triés et introduits dans une base de données de séries chronologiques comme InfluxDB pour une analyse plus approfondie. Pour d’autres, comme Graylog, le service est construit autour de la qualité de leurs outils de visualisation et d’analyse.

Quel outil dois-je utiliser?

Elastic Stack (également appelée pile ELK) est une plate-forme de journalisation très populaire. Il est composé de quatre applications différentes, toutes open source avec les mêmes développeurs. C’est entièrement gratuit, mais vous devrez l’héberger vous-même.

  • Les Beats sont des expéditeurs de journaux légers conçus pour être installés sur des machines clientes et envoyer des données aux autres applications de la pile.
  • Logstash est le moteur d’ingestion, qui peut prendre des données de Beats ou d’autres programmes tels que rsyslog et préparez-le à être envoyé à Elasticsearch (ou à un autre moteur d’analyse).
  • Elasticsearch est le moteur au centre de la pile Elastic (après quoi la pile est nommée). Il fonctionne comme une base de données pour stocker vos journaux (et autres objets) et expose une API RESTful à utiliser dans d’autres applications.
  • Kibana est l’interface pour Elastic Stack et fournit toutes les options de visualisation, de graphiques, de graphiques et de recherche pour l’utilisateur final.

La plupart des outils d’Elastic Stack sont assez plug and play avec d’autres outils de gestion de journaux, donc si vous avez une préférence pour autre chose, vous pouvez probablement remplacer cet élément dans la pile. Dans l’ensemble cependant, la plupart des outils et des frameworks suivront la même structure générale qu’Elastic Stack – expéditeur de journaux> moteur d’ingestion> base de données> outil de visualisation.

Fluentd et Filebeat sont des moteurs d’ingestion alternatifs et remplaceraient Logstash dans la pile. Ceux-ci peuvent alimenter des données dans une base de données de séries chronologiques comme InfluxDB, qui dispose d’un plugin intégré pour Grafana, une plate-forme d’analyse et de visualisation.

Logwatch est un utilitaire de ligne de commande très basique qui surveille vos fichiers journaux et vous envoie un rapport quotidien. Il ne fait aucun type de collecte, il est donc idéal pour les configurations de serveur unique qui souhaitent obtenir plus d’informations sur les journaux de leur serveur.

Graylog remplace complètement Elastic Stack et ne nécessite que des expéditeurs de journaux externes pour ingérer les données. Leur interface Web prend en charge la création de graphiques et de tableaux de bord personnalisés pour surveiller vos journaux, mais peut faire défaut par rapport à une configuration avec une base de données appropriée et Grafana.

SolarWinds Papertrail est un service entièrement géré qui affiche les journaux en temps réel, ce qui peut être très utile lors du débogage de problèmes avec vos serveurs. Leurs plans sont assez bon marché, segmentés par Go et à partir de seulement 7 $.

Splunk surveille à peu près tout ce qui entoure vos applications, y compris les journaux. Si vous voulez une suite d’analyse complète, Splunk peut être pour vous.

LogDNA est un outil d’analyse de journal simple avec des plans très bon marché. Si vous recherchez une alternative simple à la configuration d’une pile ELK, LogDNA peut être configuré rapidement.

★★★★★