Parce que c'est les vacances, je me suis mis à fouiller du côté de graylog pour avoir une vue sur les journaux de différents serveurs et équipements que je gère.

Graylog me permet de construire des vues et des alertes en utilisant les logs qui lui sont envoyés, et j'ai donc eu à fouiller les différents journaux pour chercher des informations qui pourraient m'être utiles, ainsi que la manière de les envoyer à mon parser.

Et en fouillant sur un serveur sous Debian 11, je suis tombé là dessus :

/var/log # du -h
2,1M    ./postgresql
4,0K    ./mysql
2,1M    ./letsencrypt
396K    ./prosody
16K     ./ejabberd
4,0K    ./onlyoffice
82M     ./matrix-synapse
4,0K    ./private
1,3M    ./nginx/nextcloud
3,3M    ./nginx/funkwhale
32M     ./nginx
20M     ./redis
64K     ./zabbix
3,2G    ./journal/85571433ec6b4911bf30089956b1e949
4,0K    ./journal/80eba9f3a9fe4e11af292523f833aa22
3,2G    ./journal
168K    ./apt
4,0K    ./runit/ssh
8,0K    ./runit
3,6G    .

3.2 Go de logs pour /var/log/journal ! Un bien beau bébé !

logrotate n'avait pas de configuration enregistrée, et je trouvais particulièrement bizarre que quelque chose écrive des données ici sans qu'une entrée logrotate soit faite... Et pour cause !

Le coupable ici c'est (je sais que beaucoup de gens vont dire que c'est forcément lui le coupable) : SYSTEMD

/var/log/journal est le répertoire dans lequel systemd écrit ses informations, et une configuration supplémentaire est à faire afin de pouvoir faire une rotation des journaux.

Tout d'abord, ouvrez /etc/systemd/journald.conf avec un éditeur de votre choix, puis décommentez SystemMaxUse et/ou MaxRetentionSec pour définir des limites. Mon fichier de conf ressemble à ça :

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
SystemMaxUse=200M
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
MaxRetentionSec=1w
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes
#Audit=no

Puis on redémarre le service :

systemctl restart systemd-journald

Et le problème est derrière nous :)

2,1M    /var/log/postgresql
4,0K    /var/log/mysql
2,1M    /var/log/letsencrypt
396K    /var/log/prosody
16K     /var/log/ejabberd
4,0K    /var/log/onlyoffice
83M     /var/log/matrix-synapse
4,0K    /var/log/private
1,3M    /var/log/nginx/nextcloud
3,3M    /var/log/nginx/funkwhale
32M     /var/log/nginx
20M     /var/log/redis
64K     /var/log/zabbix
169M  /var/log/journal/85571433ec6b4911bf30089956b1e949
4,0K    /var/log/journal/80eba9f3a9fe4e11af292523f833aa22
169M   /var/log/journal
168K    /var/log/apt
4,0K     /var/log/runit/ssh
8,0K    /var/log/runit
598M    /var/log/

Ajouter un commentaire

Article précédent Article suivant