Ces dernières années, le volume de données générées par les systèmes modernes a augmenté de manière exponentielle, et les logs n'y sont pas étrangers. Différents composants génèrent des logs, notamment :
- Serveurs
- Terminaux réseau
- Systèmes d'exploitation
- Applications logicielles
- Services cloud
- Etc.
Les entreprises collectent et stockent des logs dans le but de résoudre plus facilement les incidents, d'identifier les causes premières des problèmes de performance, d'enquêter sur les compromissions de sécurité ou encore de respecter les exigences de conformité.
Cependant, aussi utiles soient-ils, les logs peuvent occuper un espace disque considérable. En effet, la taille de ces fichiers individuels peut vite devenir incontrôlable et mettre à mal l'espace disque disponible. En l'absence de contrôles appropriés, votre système risque ainsi de rencontrer des problèmes de performance.
C'est là tout l'intérêt de la rotation des logs, qui permet de supprimer ou d'archiver de manière contrôlée les logs plus anciens afin de faire de la place pour les nouveaux.
Cet article aborde les principes de base de la rotation des logs — son intérêt et ce qu'il convient de faire des logs plus anciens. Nous examinerons également brièvement Falcon LogScale, un système cloud moderne de gestion des logs.
Qu'est-ce que la rotation des logs ?
La rotation des logs a pour but de contrôler la taille des logs. Lorsqu'un fichier log existant atteint un certain seuil (généralement une taille de fichier, un âge ou un nombre d'enregistrements maximal), l'application associée le renomme, crée un nouveau fichier portant le nom d'origine et poursuit l'écriture des événements dans ce nouveau fichier. L'application peut ensuite compresser l'ancien log, l'archiver ou même le supprimer. La rotation des logs est un processus rapide et automatisé qui s'effectue en quelques secondes, et auquel certaines applications dédient un thread.
Une approche de dénomination courante consiste à ajouter l'horodatage de la rotation au nom de l'ancien fichier log. Par exemple, si le nom du log est mylogfile.log
, la version remplacée sera renommée mylogfile_xxxxxxxx.log
(où xxxxxxxx
correspond à une date ou à un horodatage), tandis que le nouveau fichier créé prendra le nom mylogfile.log
. Le dossier de stockage des logs contiendra donc des entrées telles que celles-ci :
mylogfile.log mylogfile_20220429.log mylogfile_20220430.log … …
Il arrive également que des suffixes, plutôt que des horodatages, soient ajoutés au nom des anciens fichiers log. Par exemple, si le nom d'un log d'erreurs de SQL Server est ERRORLOG
, les fichiers plus anciens seront nommés ERRORLOG.1
, ERRORLOG.2
, ERRORLOG.3
, et ainsi de suite. Plus le chiffre est élevé, plus le fichier est ancien.
Il est généralement possible de contrôler les paramètres de rotation des logs en configurant l'application ou le système d'exploitation à l'aide de certains critères. Une fois ces paramètres enregistrés, la rotation des logs se déclenche dès lors que ces critères sont remplis. Vous pouvez également choisir de désactiver la rotation des logs dans certains cas, mais il doit s'agir d'une mesure temporaire. Certaines applications vous permettent par ailleurs de définir les noms des fichiers log et l'emplacement de stockage, ainsi que de désactiver complètement la journalisation.
Étant donné que certains événements d'application peuvent s'étendre sur plusieurs fichiers en rotation, il est parfois nécessaire de conserver les anciens logs en local. Dans ce cas, vous pouvez compresser ces anciens fichiers pour économiser de l'espace sur le serveur ou configurer leur suppression au bout d'une période déterminée. Pour une conservation à plus long terme, vous pouvez les déplacer vers des périphériques de stockage, des serveurs de sauvegarde, des supports de stockage cloud du type S3 ou un système de gestion des logs.
Pourquoi faut-il procéder à la rotation des logs ?
Comme précisé ci-dessus, les logs sont utiles pour corriger les erreurs, enquêter sur les incidents de sécurité et évaluer votre environnement informatique. Cependant, en l'absence de rotation, les logs volumineux qui capturent le trafic réseau ou les événements d'authentification peuvent rapidement devenir un problème.
Espace disque
Dès lors qu'ils ne sont configurés ni pour être compressés ni pour être supprimés, les logs s'accumulent jusqu'à ce que le serveur tombe à court d'espace disque. Des services critiques cessent alors de fonctionner et des failles peuvent apparaître dans la journalisation, dans la mesure où l'enregistrement de nouveaux événements par les applications nécessite de disposer d'espace libre. La survenue d'un incident au cours d'une telle période pourrait dès lors ne pas être enregistrée.
Performances
Le serveur est susceptible de connaître des problèmes de performance, même si l'espace disque n'est pas plein. S'il ne dispose pas de suffisamment de mémoire, l'ouverture, la lecture et l'écriture de fichiers volumineux (parfois de l'ordre de plusieurs gigaoctets) prendront beaucoup plus de temps. Par ailleurs, les opérations manuelles de type tail, head ou grep peuvent se révéler chronophages, ce qui est loin d'être idéal si vous devez enquêter sur un problème critique.
Alertes en temps réel
Les solutions de gestion des logs peinent souvent à traiter les logs volumineux. Les agents de journalisation seront plus lents à transférer les données sur le réseau, et le logiciel de gestion des logs aura besoin de plus de temps pour analyser et indexer les données. Tous ces facteurs peuvent retarder la génération d'alertes en temps réel. Imaginons par exemple que les logs d'authentification contiennent des preuves d'une attaque par pulvérisation de mots de passe. Mais à cause de la taille importante de ces fichiers, il faut 30 minutes à la solution de gestion des événements et des informations de sécurité (SIEM) pour détecter l'attaque et déclencher l'alerte, une situation qui est évidemment loin d'être idéale.
Que faire des anciens logs ?
À moins de disposer d'un espace de stockage illimité pour vos serveurs, vous devez mettre en place une stratégie de gestion de vos logs les plus anciens. Certaines entreprises adoptent des approches différentes selon le type de log et en fonction de leurs cas d'usage, de l'importance de ces fichiers et de leurs obligations légales.
Suppression
L'approche la plus simple consiste à supprimer les logs en rotation au fur et à mesure. En plus d'être facile à configurer, cette opération libère de l'espace sur le serveur et réduit les coûts de stockage. Toutefois, dans la mesure où les logs contiennent souvent des événements importants, et que vous ne savez pas toujours quand vous en aurez besoin, cette opération peut s'avérer risquée. En outre, vous risquez de perdre des informations importantes dès lors qu'un événement s'étend sur plusieurs logs. En fonction du secteur d'activité de votre entreprise et de ses besoins en matière de conformité, il est possible que la suppression des anciens logs ne soit pas une option.
Compression
Vous pouvez compresser les logs dans le cadre du processus de rotation et conserver les anciens fichiers sur le serveur. Il s'agit d'une pratique courante sur les systèmes Linux et les logs compressés portent souvent l'extension .gz.
Archivage
L'archivage consiste à enregistrer les anciens logs dans un système de stockage distinct à des fins de conservation à long terme. Ce système peut prendre la forme d'un serveur de sauvegarde dédié associé à un stockage externe (tel qu'un SAN), à une solution de stockage cloud moins coûteuse (telle qu'AWS S3) ou à un stockage hors site sur bande.
Système de gestion des logs
La plupart des opérations informatiques s'appuient sur un système central pour le stockage de leurs logs. Les utilisateurs ont ainsi la possibilité de rechercher, d'analyser, de mettre en corrélation et de visualiser les événements consignés dans ces fichiers. Cette approche est beaucoup plus simple que le traitement manuel des logs à partir du système de fichiers. Les systèmes de gestion des logs permettent de dégager des tendances historiques, de comparer les états du système et de déclencher des alertes en temps réel en cas d'événements critiques.
Rappelons que la rotation des logs ne constitue en aucun cas un substitut à un système de gestion des logs. Ces deux solutions sont complémentaires. Vous pouvez ainsi procéder à la rotation, à l'archivage ou à la suppression de vos fichiers après qu'ils ont été traités et stockés par le système de gestion des logs.
Quel que soit l'endroit où vous choisissez de conserver vos anciens logs, vous devez les sécuriser, de façon à assurer la protection des informations sensibles qu'ils contiennent et à éviter qu'ils ne soient altérés.
Journalisez toutes vos données et répondez à toutes les questions – gratuitement
Falcon LogScale Community Edition (anciennement Humio) offre une plateforme moderne et gratuite de gestion des logs pour le cloud. Exploitez l'ingestion des données de streaming pour bénéficier d'une visibilité instantanée sur les systèmes distribués, de même que détecter et résoudre les incidents.
Falcon LogScale Community Edition, disponible instantanément et gratuitement, inclut les fonctionnalités suivantes :
- Ingestion de jusqu'à 16 Go de données par jour
- Durée de rétention de 7 jours
- Aucune carte de crédit n'est requise
- Accès continu sans période d'essai
- Journalisation sans index, alertes en temps réel et tableaux de bord en direct
- Accès à notre place de marché et à nos packages, y compris aux guides de création de nouveaux packages
- Formation et collaboration avec une communauté active