Offre de lancement — -20% sur tous les VPS avec le code NVH20 · Déploiement en 60 secondes
Accueil / Documentation / Monitoring
Monitoring

Recevoir chaque matin le rapport de son VPS avec Logwatch

Par Équipe NVHCloud 2026-09-18 Lecture : 4 min

Personne ne lit les journaux d'un serveur tous les jours. Logwatch le fait à votre place : chaque nuit, il parcourt les journaux du système et vous envoie un résumé lisible. Connexions SSH, erreurs des services, espace disque, adresses bannies par Fail2ban, erreurs du serveur web : en deux minutes de lecture le matin, vous savez si quelque chose d'anormal s'est produit.

1. Pourquoi un rapport quotidien

Les alertes, décrites dans surveiller son VPS, préviennent quand un seuil est dépassé. Le rapport quotidien montre ce qui ne déclenche pas d'alerte mais mérite votre attention : une connexion SSH réussie depuis un pays inattendu, un service qui redémarre toutes les nuits, des erreurs PHP qui s'accumulent, un disque qui se remplit lentement.

2. Installer Logwatch

apt update && apt install -y logwatch

Selon votre système, l'installation peut proposer d'installer aussi un serveur de messagerie : si une fenêtre de configuration de Postfix apparaît, choisissez Pas de configuration pour l'instant. L'envoi des e-mails est traité à l'étape 5.

3. Afficher un premier rapport

Avant de configurer quoi que ce soit, affichez le rapport du jour dans le terminal :

logwatch --detail med --range today --output stdout | less

Le rapport est découpé par service : sshd, fail2ban, httpd pour le serveur web, disk space, etc. Seuls les services présents sur votre serveur apparaissent.

4. Configurer l'envoi quotidien

L'installation ajoute déjà une tâche quotidienne dans /etc/cron.daily/00logwatch. Il suffit de lui dire quoi envoyer et à qui. Créez /etc/logwatch/conf/logwatch.conf :

Output = mail
Format = html
MailTo = [email protected]
MailFrom = [email protected]
Range = yesterday
Detail = Med
Service = All
  • Range = yesterday : le rapport envoyé le matin couvre la journée complète de la veille.
  • Detail : Low pour l'essentiel, Med pour un bon équilibre, High pour tout voir, ce qui devient vite illisible.
  • Service : pour retirer un service trop bavard, ajoutez une ligne comme Service = "-http" sous Service = All.

5. Faire partir les e-mails

Logwatch confie l'envoi au programme de messagerie du système. Il en faut donc un, correctement configuré, sinon les rapports partent dans le vide ou arrivent en spam. La méthode la plus fiable pour un serveur qui ne fait qu'envoyer des notifications consiste à relayer les e-mails par un fournisseur SMTP, comme décrit dans configurer Postfix en envoi seul.

Testez ensuite l'envoi immédiat :

logwatch --detail low --range today --output mail --mailto [email protected]

Si rien n'arrive, regardez les journaux d'envoi avec journalctl -u 'postfix*' -n 30. Un rapport qui arrive dans les indésirables signale un problème d'authentification du domaine expéditeur : voir configurer SPF, DKIM et DMARC.

6. Lire le rapport en deux minutes

Concentrez-vous sur ces sections, dans cet ordre :

  1. sshd, connexions réussies : chaque ligne doit correspondre à une connexion de votre part. Une connexion que vous ne reconnaissez pas est l'alerte la plus sérieuse du rapport.
  2. Disk Space : l'occupation de chaque partition. Au-delà de 80 %, faites du ménage.
  3. fail2ban : le nombre d'adresses bannies. Un nombre stable est normal ; une explosion soudaine peut précéder une attaque ciblée.
  4. Erreurs des services : les services qui échouent au démarrage ou redémarrent en boucle.

Les tentatives de connexion SSH échouées se comptent souvent par centaines : c'est le bruit de fond d'Internet. Si les mots de passe sont désactivés, elles sont sans danger. Voir sécuriser SSH.

7. Compléter avec journalctl

Quand le rapport signale quelque chose, remontez à la source avec le journal du système :

journalctl -p err --since yesterday          # toutes les erreurs depuis hier
journalctl -u nginx --since "2 hours ago"    # un service précis
journalctl --disk-usage                      # place occupée par les journaux
journalctl --vacuum-time=30d                 # ne garder que 30 jours

Pour limiter durablement la taille des journaux, ajoutez SystemMaxUse=500M dans /etc/systemd/journald.conf, puis redémarrez le service avec systemctl restart systemd-journald.

Questions fréquentes

Logwatch fonctionne-t-il sur Debian 12 sans fichier auth.log ?
Debian 12 n'installe plus rsyslog par défaut et écrit les journaux uniquement dans le journal systemd. Logwatch lit surtout des fichiers : installez rsyslog avec apt install rsyslog pour retrouver /var/log/auth.log et un rapport complet, ou complétez-le avec journalctl.
Je ne reçois pas le rapport, pourquoi ?
Presque toujours parce que le serveur n'arrive pas à envoyer d'e-mails : aucun programme de messagerie configuré, port 25 sortant bloqué, ou message classé en spam. Testez l'envoi avec la commande logwatch --output mail et regardez les journaux de Postfix.
Peut-on recevoir le rapport sur Discord plutôt que par e-mail ?
Logwatch n'envoie pas directement vers Discord, mais vous pouvez générer le rapport en texte avec --output stdout et l'envoyer sous forme de fichier à un webhook Discord avec curl. Pour les alertes urgentes, le script de notre guide de supervision est plus adapté.
Logwatch consomme-t-il des ressources ?
Très peu : il ne tourne qu'une fois par jour, pendant quelques secondes, pour analyser les journaux de la veille.