Post bonus venant complĂ©ter l’article sur la centralisation des journaux d’évĂ©nements dans une base de donnĂ©es sous Linux avec le logiciel Rsyslog.

L’accumulation des logs peut rapidement provoquer une saturation des bases de donnĂ©es, il est donc important de rĂ©guliĂšrement purger ses tables.

Le script décrit dans ce post va archiver les logs et purger la table de données concernée.


Purger la table SystemEvents de sa base de données Syslog avec un script Bash

Utiliser un serveur dédié pour centraliser les logs de son infrastructure est une trÚs bonne pratique puisque la centralisation permet la gestion de tous les événements en un point unique.

Info + : pour voir le tuto sur la centralisation des logs sous Linux, c’est par ici : Centraliser ses logs Linux avec Rsyslog et LogAnalyzer

Le souci Ă©tant que les fichiers de journaux d’évĂ©nements peuvent rapidement devenir trĂšs lourds.

Dans le cas oĂč l’on choisit de stocker ses logs en base de donnĂ©es avec le logiciel Rsyslog, le problĂšme est le mĂȘme.

En effet, en fonction du nombre de donnĂ©es Ă  traiter, la table “SystemEvents de la base de donnĂ©es “Syslog” deviendra plus ou moins rapidement trĂšs volumineuse. Il est important de purger rĂ©guliĂšrement cette table afin de libĂ©rer de l’espace. Vous trouverez ci-dessous une adaptation d’un script trouvĂ© sur wiki.debian que vous pouvez appliquer automatiquement grĂące Ă  une tĂąche Cron.

Le script a Ă©tĂ© trĂšs largement commentĂ© (#) afin d’ĂȘtre plus explicite.

Le script (par dĂ©faut) va archiver les enregistrements vieux de plus de 7 jours et les placer dans le dossier /var/backups/syslog du serveur de logs. Puis il va supprimer ces mĂȘmes enregistrements directement de la base de donnĂ©es.

Le script est disponible au lien suivant : purge-logs.sh

Pour l’utiliser depuis son serveur Linux en ligne de commandes, voici les Ă©tapes Ă  suivre :

Télécharger le script :

wget https://raw.githubusercontent.com/NeptunetFR/rsyslog-purge/master/purge-logs.sh

Le modifier pour remplir les parties “dĂ©clarations” selon son infrastructure :

nano purge-logs.sh

Le rendre exécutable :

chmod a+x purge-logs.sh

Exécuter le script :

./purge-logs.sh

 

Vous voilĂ  maintenant parez ! A bientĂŽt hi

Purger sa base de données Syslog en bash

Articles pouvant vous intéresser