2,021 22/03/2026 07/04/2026 4 min

Il logging in Linux è una componente fondamentale per la diagnostica e la gestione dei servizi. Systemd-journald è lo strumento predefinito in molte distribuzioni Linux e offre funzionalità avanzate, ma può presentare imprevisti. Un errore comune che gli amministratori possono incontrare è il messaggio 'Failed to write entry'. In questo articolo, esploreremo la diagnosi, il rollback e come ripristinare un ambiente di logging funzionante.

Prerequisiti

  • Accesso root o privilegi sudo sulla macchina Linux.
  • Installazione di systemd e journald, che è tipicamente preinstallato nelle distribuzioni moderne.
  • Conoscenza di base su come navigare nei log di sistema utilizzando journalctl.

Step 1: Diagnosi del Problema

Quando si riceve l'errore 'Failed to write entry', è importante prima comprendere le cause potenziali. Eseguiamo una serie di controlli:

  1. Controlla lo Spazio su Disco:

    Un problema comune è la mancanza di spazio su disco. Controlla lo spazio utilizzando:

    df -h

    # Output: Un elenco delle partizioni e del loro utilizzo.
    Perché funziona: Abitualmente, journald richiede spazio per registrare nuove voci. Se lo spazio è esaurito, il logging non può proseguire.

  2. Controlla i Permessi della Directory /var/log/journal:

    Verifica che i permessi siano corretti:

    ls -ld /var/log/journal

    # Output: Dettagli sui permessi della directory.
    Perché funziona: Se i permessi sono errati, journald non può scrivere i log in questa directory.

  3. Consultare i Log Correnti:

    Esamina i log per trovare errori correlati:

    journalctl -xe

    # Output: Un elenco dettagliato degli eventi recenti e degli errori.
    Perché funziona: Questo comando mostra errori e avvisi dettagliati che possono indicare la causa del problema.

Step 2: Eseguire il Rollback delle Modifiche Recenti

Se il problema è apparso dopo delle modifiche recenti, potrebbe essere utile eseguire un rollback. Segui questi passi:

  1. Identifica le Modifiche:

    Controlla i file di configurazione modificati di recente. Usa:

    git log

    # Output: Log delle modifiche se gestisci configurazioni con git.
    Perché funziona: Ti permette di visualizzare le modifiche e tornare a un punto precedente se necessario.

  2. Ripristina il File di Configurazione:

    Se utilizzi un file di configurazione errato, ripristinalo da una copia di backup:

    cp /etc/systemd/journald.conf.bak /etc/systemd/journald.conf

    # Output: Ripristinato il file di configurazione originale.
    Perché funziona: Un file di configurazione errato può causare errori di scrittura nel log.

  3. Riavvia il Servizio Journald:

    Applicando le modifiche, riavvia il servizio:

    systemctl restart systemd-journald

    # Output: Servizio riavviato con successo senza errori.
    Perché funziona: Riavviare il servizio consente di applicare le nuove configurazioni.

Step 3: Ripristino Completo del Funzionamento

Se i passaggi precedenti non hanno risolto il problema, considera di ripristinare completamente il journald. Ecco come fare:

  1. Rimuovi i Log Corrotti:

    Elimina i log che potrebbero essere danneggiati:

    rm -rf /var/log/journal/*

    # Output: Tutti i log precedenti sono stati rimossi.
    Perché funziona: Rimuovendo i log corrotti, journald può ricominciare a scrivere senza ostacoli.

  2. Riavvia il Servizio:

    Questo passa per un riavvio totale:

    systemctl restart systemd-journald

    # Output: Servizio riavviato e pronto per operare.


    Perché funziona: Riavviare permette l'inizializzazione di un nuovo stato operativo.
  3. Controlla i Log Post-Ripristino:

    Verifica che il servizio stia scrivendo correttamente:

    journalctl -f

    # Output: Visualizzazione in tempo reale degli eventi di log.
    Perché funziona: Ti permette di monitorare in tempo reale il funzionamento di journald.

Troubleshooting

Alcuni errori comuni che puoi incontrare durante questo processo includono:

  • Errore: 'No space left on device'

    In questo caso, controlla nuovamente lo spazio su disco e libera spazio se necessario.

  • Errore: 'Failed to open log file'

    Questo può derivare da permessi insufficienti. Verifica i permessi della directory /var/log/journal.

  • Errore: 'Permission denied'

    Questo può accadere se trying to write to a read-only filesystem. Assicurati che il filesystem non sia in sola lettura.

Conclusione

Affrontare un errore di journald come 'Failed to write entry' può sembrare impegnativo, ma seguendo questi passaggi è possibile diagnosticare, eseguire rollback e ripristinare il servizio in modo efficace. È consigliabile monitorare regolarmente i log e mantenere aggiornate le configurazioni di sistema. Come prossimo passo, considera di implementare una strategia di logging separata per migliorare la resilienza e la gestione dei log nel tuo ambiente.