mod_journald Implémentation du fournisseur de journalisation d'erreurs "journald" Extension mod_journald.c journald_module

Ce module implémente le fournisseur de journalisation d'erreurs "journald". Il permet l'enregistrement des messages d'erreur et la gestion des journaux personnalisés via systemd-journald(8).

Jounalisation structurée

Systemd-journald permet d'effectuer une journalisation structurée, et autorise donc le filtrage des messages en fonction de diverses variables. Les variables actuellement supportées sont :

LOG
Le nom du journal. Pour ErrorLog, la valeur est "error_log". Pour CustomLog ou TransferLog, la valeur correspond au premier argument de ces directives.
REQUEST_HOSTNAME
Le nom d'hôte tel qu'il est fourni dans l'URI, ou l'en-tête Host: de la requête.
REQUEST_USER
Correspond au nom d'utilisateur si une authentification a eu lieu.
REQUEST_USERAGENT_IP
L'adresse IP de l'agent qui a envoyé la requête.
REQUEST_URI
La partie chemin de l'URI, ou "/" si l'URI ne contient pas de chemin.
SERVER_HOSTNAME
Le nom d'hôte du serveur pour lequel le message a été généré.

Ces variables peuvent par exemple être utilisées pour ne montrer que les messages concernant un URI particulier via la commande journalctl :

journalctl REQUEST_URI=/index.html -a

Pour d'autres exemples, voir la documentation de systemd-journalctl.

Exemples

Si le système le supporte, il est possible d'utiliser systemd-journald(8) pour effectuer la journalisation en spécifiant journald à la place d'un nom de fichier dans la directive ErrorLog (voir core).

ErrorLog journald

Spécifier journald comme fournisseur de journal d'erreurs avec la directive CustomLog (voir mod_log_config) active la journalisation via systemd-journald(8) si le système le supporte.

CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" Avertissement en matière de performances

Actuellement, systemd-journald n'est pas conçu pour une jounalisation à haut débit et son utilisation pour la journalisation des accès peut induire une baisse importante de performances.