Aller au contenu

Lire les logs : journalctl, task log, /var/log/pve

Day 2 · ExploiterNiveau 1 · DécouvrirFicheRédigé · à valider en lab

Sur Proxmox VE 9, les traces utiles sont à trois endroits : le journal systemd (journalctl) pour les services, les journaux de tâches (task log) pour chaque action lancée depuis la GUI, l'API ou la CLI, et les logs Ceph dans /var/log/ceph/. Cette fiche donne les commandes à connaître et quoi joindre à un ticket.

Pas de /var/log/syslog par défaut

Debian n'installe plus rsyslog par défaut depuis Debian 12, et Proxmox VE 9 repose sur Debian 13 Trixie : sur un nœud installé depuis l'ISO, /var/log/syslog est en principe absent. Le journal systemd, persistant dans /var/log/journal/, le remplace. Vérifiez sur vos nœuds : dpkg -l rsyslog et journalctl --list-boots (plusieurs démarrages listés = journal persistant). Un nœud mis à niveau depuis une ancienne version peut encore avoir rsyslog.

Où regarder

Source Emplacement Contenu
Journal systemd journalctl, stocké dans /var/log/journal/ Services PVE, noyau, Corosync, ZFS, réseau
Journaux de tâches GUI (bas de l'écran, Tasks), /var/log/pve/tasks/ Sauvegardes, migrations, démarrages, restaurations
Journal du cluster GUI → Cluster log Événements de tous les nœuds, horodatés
Accès à la GUI et à l'API /var/log/pveproxy/access.log Qui a appelé quoi, depuis quelle IP
Pare-feu Proxmox /var/log/pve-firewall.log, GUI nœud → Firewall → Log Paquets journalisés par les règles
Ceph /var/log/ceph/, GUI nœud → Ceph → Log Journal du cluster Ceph, logs des MON, OSD, MGR
Noyau journalctl -k, dmesg -T Disques, contrôleurs, cartes réseau, OOM killer
PBS GUI PBS → Administration → Tasks, /var/log/proxmox-backup/ Sauvegardes reçues, prune, GC, verify, sync

journalctl : filtres utiles

Commande Effet Quand l'utiliser
journalctl -b -p err Erreurs depuis le dernier démarrage Premier réflexe sur un nœud suspect
journalctl -b -1 -e Fin du journal du démarrage précédent Nœud qui a redémarré seul (fencing, panne)
journalctl --list-boots Liste des démarrages enregistrés Dater un redémarrage inattendu
journalctl -u corosync -u pve-cluster --since "1 hour ago" Cluster et pmxcfs sur la dernière heure Nœud grisé, perte de quorum (RB-09)
journalctl -u pve-ha-lrm -u pve-ha-crm --since today Décisions de la HA VM redémarrée ailleurs, nœud fenced
journalctl -u pvestatd -n 100 Collecte de statut Nœud ou stockage en point d'interrogation gris
journalctl -u pvedaemon -u pveproxy -n 200 API et interface web GUI inaccessible, erreur 500 ou 596
journalctl -u pvescheduler --since yesterday Planificateur (sauvegardes, réplication) Job planifié qui ne s'est pas lancé
journalctl -u zfs-zed --since "2 days ago" Événements ZFS (ZED) Disque retiré, erreurs de checksum (RB-07)
journalctl -k --grep 'timeout' Délais dépassés côté noyau (disque, contrôleur, lien) Disque lent ou qui disparaît
journalctl -k --grep 'out of memory' Processus tués par manque de RAM VM arrêtée sans raison apparente
journalctl -f Suivi en direct Pendant une manipulation
journalctl --since "2026-10-22 22:00" --until "2026-10-23 02:00" Fenêtre précise Corréler avec une sauvegarde nocturne
journalctl -o short-iso -u corosync > /tmp/corosync.txt Export horodaté Pièce jointe d'un ticket
journalctl --disk-usage Place occupée par le journal / qui se remplit

Journaux de tâches (task log)

Chaque action reçoit un identifiant unique, l'UPID, qui contient le nœud, le type de tâche, le VMID et l'utilisateur. Exemple : UPID:pve01:0001A2B3:0C4D5E6F:6718F2A0:vzdump:101:root@pam:.

  • GUI : panneau Tasks en bas de l'écran (double-clic pour le détail), ou nœud → Task History avec filtres par type, utilisateur, VMID et erreurs. VM → Task History pour une seule VM.
  • Fichiers : /var/log/pve/tasks/active (tâches en cours), /var/log/pve/tasks/index (historique), un fichier par tâche dans les sous-dossiers 0 à F. Ces fichiers sont locaux au nœud qui a exécuté la tâche.
Commande Effet Quand l'utiliser
pvenode task list --errors 1 --limit 30 30 dernières tâches en erreur du nœud Routine hebdomadaire
pvenode task list --typefilter vzdump --vmid 101 Sauvegardes de la VM 101 Sauvegarde en échec (RB-14)
pvenode task list --source active Tâches en cours VM verrouillée (RB-10)
pvenode task log <UPID> Contenu complet d'une tâche Lire l'erreur exacte
pvenode task log <UPID> --download 1 Fichier de log brut Pièce jointe d'un ticket

Les types les plus courants : vzdump (sauvegarde), qmigrate (migration de VM), qmstart / qmstop, qmrestore, qmsnapshot, vzcreate, aptupdate.

Logs Ceph

Commande Effet Quand l'utiliser
ceph health detail Alertes en cours, expliquées Toujours avant de lire les fichiers (RB-01)
ceph log last 50 50 dernières lignes du journal du cluster Ceph Chronologie d'un incident
ceph crash ls-new puis ceph crash info <id> Crashs de démons non acquittés Alerte RECENT_CRASH
less /var/log/ceph/ceph-osd.7.log Log d'un OSD sur son nœud OSD qui ne démarre pas (RB-03)
journalctl -u ceph-osd@7 -n 200 Même chose, côté systemd OSD qui redémarre en boucle
journalctl -u ceph-mon@pve01 -n 200 Log du moniteur de pve01 MON hors quorum

Lire un log sans se noyer

  1. Dater le symptôme : heure de l'alerte, de la plainte utilisateur, de la tâche rouge.
  2. Resserrer la fenêtre avec --since / --until (5 minutes avant, 5 après).
  3. Remonter à la première erreur : la dernière ligne est souvent une conséquence. Cherchez la première ligne error, failed, timeout, link down.
  4. Croiser les nœuds : un problème réseau Corosync apparaît sur tous les nœuds à la même seconde.
  5. Vérifier l'horloge : des horloges décalées rendent les corrélations fausses (chronyc tracking).

Pièges vus en support

  • Chercher /var/log/syslog et conclure « il n'y a pas de logs » : utilisez journalctl.
  • Lire le task log sur le mauvais nœud : une migration a un log sur le nœud source.
  • Purger le journal (journalctl --vacuum-*) pendant un incident : vous effacez les preuves. Ne le faites que pour libérer de l'espace, après export.
  • Envoyer une capture d'écran tronquée au lieu du log complet : le MSP a besoin des lignes qui précèdent l'erreur.

Quand ouvrir un ticket iTop

Joignez toujours : pveversion -v, la sortie de journalctl -b -p err du nœud concerné, le log complet de la tâche en erreur (pvenode task log <UPID>) et l'heure précise du symptôme. Voir Ouvrir un ticket.

Ouvrir un ticket iTop

Pour aller plus loin