Limiter les fichiers de log et accès disque

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Limiter les fichiers de log et accès disque

kaliderus ka
Bonjour,

Sur une machine destinée à servir de routeur (avec un petit disque
format m2 je crois) , je cherche à
* limiter (voir annuler) les logs des processus de base qui génèrent
les fichiers tels que :

alternatives.log
aptitude
auth.log
btmp
cups
daemon.log
debug
dpkg.log
fail2ban.log
kern.log
messages
syslog

etc etc etc ...

* ainsi que limiter au maximum les accès disque en écriture.

Est ce qu'il existe un moyen de le faire simplement par configuration
de syslog par exemple (la documentation officielle me donne mal au
crâne depuis 2 jours) ?
Je souhait pouvoir spécifier une limite sur le volume des fichiers
générés localement ainsi que sur leur nombre.
La documentation de syslog donne une solution mais est en fait basée
sur logrotate, ce qui ne me convient pas car les fichiers traités sont
déjà ceux existants.

J'ai le sentiment que je dois m'y atteler service par service, me trompé-je ?

Sinon merci par avance pour vos piste.

k.

Reply | Threaded
Open this post in threaded view
|

Re: Limiter les fichiers de log et accès disque

dethegeek
Bonjour

Vous pouvez créer un ramdisk et le monter sur /var/log. Il me semble que c'est ce qui est fait dans openwrt d'ailleurs. Il faudrait associer une tâche pour supprimer les logs vieux de N jours et utiliser l'outil logrotate pour diviser les logs par période de temps

Le 8 avril 2020 09:06:08 GMT+02:00, kaliderus <[hidden email]> a écrit :
Bonjour,

Sur une machine destinée à servir de routeur (avec un petit disque
format m2 je crois) , je cherche à
* limiter (voir annuler) les logs des processus de base qui génèrent
les fichiers tels que :

alternatives.log
aptitude
auth.log
btmp
cups
daemon.log
debug
dpkg.log
fail2ban.log
kern.log
messages
syslog

etc etc etc ...

* ainsi que limiter au maximum les accès disque en écriture.

Est ce qu'il existe un moyen de le faire simplement par configuration
de syslog par exemple (la documentation officielle me donne mal au
crâne depuis 2 jours) ?
Je souhait pouvoir spécifier une limite sur le volume des fichiers
générés localement ainsi que sur leur nombre.
La documentation de syslog donne une solution mais est en fait basée
sur logrotate, ce qui ne me convient pas car les fichiers traités sont
déjà ceux existants.

J'ai le sentiment que je dois m'y atteler service par service, me trompé-je ?

Sinon merci par avance pour vos piste.

k.


--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
Reply | Threaded
Open this post in threaded view
|

Re: Limiter les fichiers de log et accès disque

Daniel Caillibaud-5
In reply to this post by kaliderus ka
Le 08/04/20 à 09:06, kaliderus <[hidden email]> a écrit :
> * limiter (voir annuler) les logs des processus de base qui génèrent
> les fichiers tels que :

> * ainsi que limiter au maximum les accès disque en écriture.

Mettre /var/log dans un ramdisk comme le suggère Dethegeek est une bonne idée, mais faut avoir
assez de RAM disponible, et pas trop de Go de logs.

Autre solution, configurer un log distant, tu conserves en local les trucs importants (les
kern.error au minimum) et envoie tout le reste en distant, c'est pas si compliqué à faire avec
rsyslog.

Sinon, pour limiter la taille des logs, c'est effectivement dans la conf de syslog|rsyslog si
tu les utilises.

Mais avec systemd tu peux aussi activer journald (man journalctl) et le configurer pour gérer
une taille max de tous les logs confondus, ça peut être plus simple à faire combiné à un
ramdisk (ça permet d'être sûr que les logs vont pas dépasser la taille du ramdisk, au risque
de supprimer des logs pas si vieux).

Attention aussi aux obligations légales, pour du web tu dois garder les logs http 1 an il me
semble, au cas où un juge te les demanderait.

--
Daniel

Il faut pleurer les hommes à leur naissance et non pas à leur mort.
Montesquieu