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

0
169
Kibana

Les fichiers journaux contiennent de nombreux des données importantes sur les performances de votre infrastructure, mais lorsqu'elles comptent des milliers de lignes, il peut être difficile d'en tirer 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 ce type 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, ce qui est laissé 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ée, ces journaux peuvent donc être utiles pour localiser les liens brisés et les erreurs qui renvoient 404 (ce qui peut affecter le classement de votre site lorsque des moteurs de recherche comme Google explorent le site), quelque chose qui n'est pas 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 nécessiteront que vous implémentiez vos propres journaux, mais il existe de nombreuses bibliothèques de journalisation qui facilitent le processus.

Unix conserve 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 derrière elles 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 assez volumineux pour remplir le disque dur de votre serveur et nécessiter une rotation régulière.

Publicité

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 pour 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 visualiser 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 faire Les outils de gestion des journaux fonctionnent ?

Un outil de gestion des journaux comme Fluentd s'exécutera sur un serveur quelque part, 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 s'appelle un serveur d'agrégation et collecte les journaux de plusieurs sources externes.

Le processus commence par l'ingestion des fichiers journaux du système client qui sont introduits dans l'agrégateur à l'aide d'un programme appelé expéditeur de journaux. Les expéditeurs de journaux comme la bibliothèque rsyslog 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, leur simple collecte 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 ?

< p>

La pile élastique (é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.

  • Beats sont des expéditeurs de journaux légers conçus pour être installés sur les machines clientes et envoyer des données aux autres applications dans la pile.
  • Logstash est le moteur d'ingestion, qui peut récupérer les données de Beats ou d'autres programmes tels que rsyslog et les préparer à être envoyées à Elasticsearch (ou à un autre moteur d'analyse).
  • < li>Elasticsearch est le moteur au centre de la pile Elastic (d'après lequel la pile est nommée). Il fonctionne comme une base de données pour stocker vos journaux (et d'autres objets) et expose une API RESTful à utiliser dans d'autres applications.

  • Kibana est l'interface de la Suite Elastic et fournit toutes les visualisations, les graphiques, graphiques et options de recherche pour l'utilisateur final.

Publicité

De nombreux outils de la Suite Elastic sont assez plug and play avec d'autres outils de gestion des 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 que l'expéditeur de journaux de la Suite Elastic > 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 temporelles 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 avoir plus d'informations sur les journaux de leur serveur.

Graylog remplace complètement la Suite Elastic. , et ne nécessite que des expéditeurs de journaux externes pour ingérer des 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 des problèmes avec vos serveurs. Leurs forfaits sont assez bon marché, étant segmentés par Go et commençant à seulement 7 $.

Publicité

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

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