Journal è un formato di nuova concezione per il log degli eventi di sistema: è un progetto di Lennart Poettering e Kay Sievers creato per funzionare esclusivamente in systemd. Journal è stato presentato soltanto venerdì scorso e ne sarebbe prevista l’inclusione da Fedora 17. Tuttavia, in passato Red Hat aveva procrastinato systemd…
La premessa è d’obbligo perché gli sviluppatori di Red Hat potrebbero fare altrettanto con journald (il demone che controlla Journal) e il nuovo formato uscirebbe con Fedora 18 o superiore. Ha significato associare Journal alla distribuzione della comunità di Red Hat, poiché al pari di systemd è sviluppato da contributori di Fedora.
Prima d’entrare nel merito di Journal occorre specificare che il nuovo formato sarà compatibile a livello predefinito con Fedora, openSUSE e Mageia/Mandriva: gli utenti di Arch, Debian e Gentoo potranno installarlo in via del tutto opzionale con systemd. Ubuntu usa Upstart e Journal non può “sostituire” rsyslog sulla distribuzione.
Tra virgolette perché Journal non sostituisce affatto né rsyslog, né syslog-ng o altri logger di sistema. È stato concepito per lavorare in autonomia oppure affiancato a uno di loro. Le intenzioni degli sviluppatori, al riguardo, sono piuttosto contraddittorie: journald intende essere uno standard, però non essere «standardizzato».
La contraddizione è evidente a partire dalla compatibilità di Journal: essendo supportato soltanto da systemd, il nuovo formato esclude il funzionamento su tutte le distribuzioni. Il punto è controverso e, a prescindere dalla lunga descrizione, gli sviluppatori non precisano se la compatibilità riguardi Journal, journald o entrambi.
Journal è un formato, journald un demone: gli sviluppatori non li distinguono perché – al momento – non esistono altre implementazioni. L’unico paragone è con syslog. Le due soluzioni condividono almeno uno dei limiti affrontati da Poettering e Sievers. I sistemi UNIX–based utilizzano più d’una risorsa per la registrazione dei log.
L’intento è quello di ridurle a una sola, cioè Journal, che è legata a systemd e non può essere utilizzata altrove. Inoltre, Poettering e Sievers non vogliono cancellare del tutto syslog. Se non è un tentativo di presentare Journal mantenendo un basso profilo per non attirarsi delle “antipatie”, non si capisce granché del progetto.
Fortunatamente, i dettagli sul nuovo formato sono molto più precisi e giustificano l’attenzione al progetto. Journal fornisce dati strutturati, anziché di solo–testo, e risolve il problema dei privilegi d’accesso: la consultazione dei log è associabile a utenti o gruppi in modo avanzato e si possono autorizzare gli accessi parziali.
Il nuovo formato è estendibile, affinché qualunque applicazione richieda la registrazione d’un log possa integrarsi con Journal. Gli sviluppatori hanno prestato una particolare attenzione ai sistemi integrati: non si potrà disabilitare journald da systemd, però il logging può essere limitato alla gerarchia di /run — che è volatile.
Al contempo, Journal può soddisfare tutte le esigenze dei super–computer. I log generati sono trasferibili da un’architettura all’altra: ad esempio, è possibile consultare il log d’un sistema integrato con ARM da un server con x86/x86_64. La dimensione dei file prevede i metadata e supera quella di syslog restando comunque ridotta.
Journal non richiede alcuna manutenzione: il demone valuta da sé lo spazio occupabile dal log, in caso di capacità ridotte, e attiva la “rotazione” quando il registro richiede l’estensione. La scelta di salvare dei dati strutturati facilita di gran lunga l’esposizione delle informazioni alle applicazioni di monitoraggio del sistema.
Insomma, l’unica controversia riguarda la compatibilità: se non è prevista la standardizzazione di Journal è proprio perché il progetto non prevede l’applicazione esterna a systemd. La nuova concezione del logger, però, è molto convincente e attribuisce (se mai ce ne fosse davvero il bisogno) un ulteriore valore aggiunto a systemd.
Via | Lennart Poettering
Journal, un nuovo formato per il log di sistema con systemd su Linux é stato pubblicato su Ossblog.it alle 09:00 di lunedì 21 novembre 2011.