J'utilise ce qui est un serveur Ubuntu 16.04 vanilla, et j'essaie de comprendre comment la journalisation est configurée par défaut. Je peux voir que les deux journald
et rsyslog
sont installés et en cours d' exécution, mais pas du tout clair pour moi comment les messages du journal sont en cours de traitement.
La plupart des messages semblent apparaître à la fois dans /var/log/syslog
et via journalctl
, mais je ne vois aucune configuration explicite pour le transfert entre les deux dans /etc/systemd/journald.conf
(qui est essentiellement tous commentés par défaut), /etc/rsyslog.conf
ou /etc/rsyslog.d/50-default.conf
. J'ai essayé de chercher de la documentation officielle, ou même un article de blog expliquant comment ces deux sont configurés dans Ubuntu, mais je n'ai rien trouvé.
Pour ajouter encore à ma confusion, j'ai exécuté logger -p local1.info Test
sur l'hôte et j'ai constaté que rien n'était écrit /var/log/syslog
, alors que le message apparaissait sous journalctl
.
Mes questions sont:
- Comment exactement journald et rsyslog fonctionnent-ils ensemble sur Ubuntu 16.04 (par défaut)?
Comment se fait-il que les messages envoyéslogger
semblent se retrouver dans le journal, mais pas dans syslog?
Mise à jour: s'avère logger
ne pas fonctionner comme prévu était une erreur de ma part, donc ce n'est pas pertinent pour la question principale.
logger -p .info hello
n'est pas valide. Vous n'avez donné aucun nom d'installation.logger
ne pas fonctionner était de ma faute, donc c'est corrigé maintenant (merci pour les conseils quand même). En ce qui concerne les journaux apparaissant à deux endroits, votre note surimuxsock
semble être la clé: il semble que rsyslog et journald écoutent les messages syslog locaux, d'où la raison pour laquelle ces entrées vont dans deux journaux distincts.Systemd est un système d'initialisation utilisé pour démarrer les services au démarrage du système. Journald est responsable de la création de journaux pour les services démarrés par systemd. En intégrant journald à systemd, même les premiers messages du processus de démarrage sont disponibles pour journald.
Rsyslog est un démon spécialement conçu pour le traitement des journaux, rien à voir avec journald. Il peut accepter les journaux de plusieurs manières et les afficher de nombreuses manières. Il n'est pas activé par défaut qu'il accepte également les messages de journal de journald. Pour cela, vous devez écrire dans le fichier /etc/rsyslog.conf,
Maintenant, il acceptera également les journaux de m journald. Mais je vous suggère de ne pas modifier votre fichier /etc/rsyslog.conf.
À la fin du fichier /etc/rsyslog.conf, il y a une ligne écrite,
Cela signifie que tous les fichiers ayant .conf à leur extrémité dans le dossier /etc/rsyslog.d/ doivent être inclus lors du chargement de rsyslog. Donc, toutes vos configurations personnalisées doivent aller dans ces fichiers
Je vous suggère de créer un fichier /etc/rsyslog.d/journald.conf et de coller l'extrait ci-dessous.
Ci-dessous l'extrait de la page officielle rsyslog d'imjournal
Ligne 1 - il charge le module imjournal pour accepter les journaux de journald
2 - Le module mmjsonparse est chargé utilisé pour l'analyse des journaux
3 - Ils sont structurés dans le format décrit dans le modèle
4 - Il analyse ces journaux en utilisant le module mmjsonparse.
5 - Il envoie ces journaux dans un fichier à savoir / var / log / ceelog selon la structure fournie dans le modèle donné, en utilisant le module omfile (fichier du module de sortie - sorties vers le fichier).
Apportez des modifications dans la configuration en fonction de vos besoins.
la source