Logbookd : Le Petit Journal de Système
Introduction à Logbookd
Logbookd est une implémentation de syslogd qui répond à la question : « Que se passerait-il si les développeurs de BusyBox créaient un journald ? ». Ce petit démon est conçu pour recevoir les messages de journalisation du noyau ainsi que les messages syslog via un socket Unix, et les stocke dans une base de données SQLite pour une consultation ultérieure.
Fonctionnalités de Logbookd
Logbookd offre une solution efficace pour la gestion des journaux système. Grâce à son utilisation de SQLite, il est possible de faire fonctionner un syslog persistant ou un syslog en mémoire, ce dernier étant le paramètre par défaut.
Gestion des Journaux
Le journal contient une copie complète des messages du noyau depuis le démarrage. De plus, lors du redémarrage de Logbookd, les lacunes dans les messages sont automatiquement comblées, tant que les messages perdus ne dépassent pas la taille du tampon circulaire du noyau.
Consultation des Journaux
Pour accéder aux messages de journalisation, la commande logread
interroge le démon via un autre socket, permettant ainsi de visualiser les messages en temps réel avec des filtres.
Avantages Clés
- Stockage Flexible : Les journaux peuvent être enregistrés dans une base de données SQLite en mémoire ou sur disque.
- Suivi des Démarrages : Logbookd garde une trace de l’identifiant de démarrage (boot_id) pour interroger les journaux spécifiques à chaque démarrage.
- Interrogation via Socket : Les journaux peuvent être consultés à travers un socket de domaine Unix.
- Conservation des Logs du Noyau : Une copie des journaux du noyau est systématiquement stockée.
- Activation par Socket : Le service peut être lancé avec une activation par socket.
- Activation par Descripteur de Fichier : Logbookd prend également en charge l’activation par descripteur de fichier.
- Mode d’Écriture Réduit : En mode réduit, les journaux sont conservés en mémoire jusqu’à ce que Logbookd soit interrompu ou reçoive un signal SIGUSR1.
Logbookd se présente comme une solution légère et efficace pour la gestion des journaux système, offrant des fonctionnalités robustes tout en restant simple à utiliser.