J'ai du mal à comprendre comment la journalisation fonctionne sur Linux.
Depuis l'inclusion de systemd, cela semble un peu plus facile, mais j'ai encore quelques concepts qui ne peuvent toujours pas être entièrement compris.
Étant donné un système avec journalctl, je souhaite envoyer des messages de journal à un hôte distant. Dans ce but, j'ai installé rsyslog et configuré freeradius afin qu'il génère ses journaux sur local3, puis configuré rsyslog pour transmettre ces messages sous local3 au serveur syslog distant. Maintenant, les journaux système sont-ils partagés entre rsyslog et journalctl? Cela peut-il provoquer un conflit de quelque nature que ce soit?
Hormis cela: qui contrôle ce qui est écrit dans/var/log/messages? et comment une certaine application peut-elle produire ses journaux dans ce fichier? Est-il géré par rsyslog? Par systemd?
Si quelqu'un peut m'aider à comprendre l'ensemble du service de journalisation Linux, ce serait bien.
Le ou les liens entre journald et rsyslog sont contrôlés du côté rsyslog grâce à l'utilisation de ses modules d'entrée et de sortie; il y a imjournal
et omjournal
pour lire et écrire dans le journal respectivement.
Donc, si vous écrivez quelque chose dans rsyslog, il n'apparaîtra dans journald que si vous avez configuré le module omjournal
.
rsyslog "possède" /var/log/messages
, l'API syslog habituelle permettra aux applications d'y écrire. Les messages du journal peuvent également y arriver, si le module imjournal
est configuré.
Ce petit guide RHEL explique les choses à peu près de la même manière.
Les systèmes avec journalctl sont des systèmes de journalisation, ce qui signifie qu'ils ont utilisé le journal pour travailler avec toutes les entrées syslog. Par défaut, ces systèmes n'écrivent pas les journaux dans/var/log/secure,/var/log/maillog// var/log/messages ...
Les systèmes avec rsyslog écrivent les entrées syslog dans des fichiers spécifiques dans la directive/var/log. Les paramètres concernant ces entrées (qui se connectent à quels fichiers) sont écrits dans /etc/rsyslog.conf
Les deux utilisent le protocole syslog, mais peuvent partager. Ce sera donc OK si vous utilisez sans problème rsyslog et journalctl sur la même machine.