Skip to content

Gestion Logs

Configuration et nettoyage logs système et applications.

Stratégie Globale

  • Journald (systemd) : Rotation automatique, limite taille 500MB, rétention 7 jours
  • Logrotate : Rotation logs applications PBS/Docker
  • Docker : Limite taille logs par container (10MB/file, 3 files max)

LXC 102 - Proxmox Backup Server

Logrotate PBS

Fichier: /etc/logrotate.d/proxmox-backup-custom (dans LXC 102)

/var/log/proxmox-backup/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    copytruncate
}

/var/log/pbs-gdrive-sync.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    copytruncate
}

Journald Limits

Fichier: /etc/systemd/journald.conf.d/size-limit.conf (dans LXC 102)

[Journal]
SystemMaxUse=500M
SystemMaxFileSize=50M
MaxRetentionSec=7day

Appliquer :

pct exec 102 -- systemctl restart systemd-journald

Vérifier :

pct exec 102 -- journalctl --disk-usage

Nettoyage Automatique

Host Proxmox

# Logs système (journald)
journalctl --vacuum-time=30d
journalctl --vacuum-size=1G

# Vérifier espace
journalctl --disk-usage

LXC Docker (100, 101, 103, 104)

# Dans chaque LXC Docker
pct exec 100 -- docker system prune -f
pct exec 101 -- docker system prune -f
pct exec 103 -- docker system prune -f
pct exec 104 -- docker system prune -f

# Logs Docker propres
pct exec 100 -- find /var/lib/docker/containers -name "*-json.log" -type f -size +10M -delete

Nettoyage Manuel Logs Anciens

# LXC 102 (PBS)
pct exec 102 -- find /var/log/proxmox-backup -name "*.log" -mtime +30 -delete
pct exec 102 -- journalctl --vacuum-size=500M

Rotation Logs

Configuration Docker Compose

Dans /mnt/lxc-data/docker-XXX/docker-compose.yml :

services:
    app:
        logging:
            driver: "json-file"
            options:
                max-size: "10m"
                max-file: "3"

Monitoring Espace Logs

Par LXC

# LXC 100 (media)
pct exec 100 -- du -sh /var/log
pct exec 100 -- journalctl --disk-usage

# LXC 101 (management)
pct exec 101 -- du -sh /var/log
pct exec 101 -- journalctl --disk-usage

# LXC 102 (PBS)
pct exec 102 -- du -sh /var/log
pct exec 102 -- du -sh /var/log/proxmox-backup
pct exec 102 -- journalctl --disk-usage

# LXC 103 (network)
pct exec 103 -- du -sh /var/log
pct exec 103 -- journalctl --disk-usage

# LXC 104 (services)
pct exec 104 -- du -sh /var/log
pct exec 104 -- journalctl --disk-usage

Script Monitoring Global

#!/bin/bash
# /usr/local/bin/check-logs-size.sh

echo "=== Host Proxmox ==="
du -sh /var/log
journalctl --disk-usage

for lxc in 100 101 102 103 104; do
    echo -e "\n=== LXC $lxc ==="
    pct exec $lxc -- bash -c "du -sh /var/log 2>/dev/null && journalctl --disk-usage 2>/dev/null"
done

Troubleshooting

Logs Trop Volumineux

Symptôme : Filesystem read-only, pool LVM thin saturé

Diagnostic :

# Identifier les gros logs
pct exec 102 -- du -sh /var/log/* | sort -h | tail -10
pct exec 102 -- find /var/log -type f -size +100M

Solution :

# Nettoyage immédiat
pct exec 102 -- journalctl --vacuum-size=500M
pct exec 102 -- find /var/log -name "*.log" -mtime +7 -delete

# Vérifier espace libéré
pct exec 102 -- df -h /

Logrotate Ne Fonctionne Pas

# Tester config
pct exec 102 -- logrotate -d /etc/logrotate.d/proxmox-backup-custom

# Forcer rotation
pct exec 102 -- logrotate -f /etc/logrotate.d/proxmox-backup-custom

# Vérifier état
pct exec 102 -- cat /var/lib/logrotate/status

Historique Incidents

2026-03-23 - Pool LVM Thin Saturé

Cause : Logs PBS excessifs (3.9GB) + journald non limité (2.6GB)

Impact : LXC 101, 103, 104 passés en read-only

Résolution :

  1. Nettoyage manuel : journalctl --vacuum-size=500M
  2. Configuration logrotate PBS
  3. Limitation journald (500MB max)
  4. Extension pool thin 135GB → 151GB

Prévention : Monitoring quotidien taille logs + alertes > 1GB