Comment configurer systemd journal-remote pour écouter sur un port spécifique?
Tout ce que je peux trouver, ce sont des exemples de ligne de commande. Et sur la base de la page de manuel, il ne semble pas y avoir d'option dans journal-remote.conf.
Voyant qu'il n'y a même pas un seul commentaire, j'ai décidé de poursuivre mes recherches et finalement reconstitué la configuration.
Système d'exploitation: Ubuntu 16.04
systemd: 229-1ubuntu2
systemd-journal-remote: 229-1ubuntu2
Celui-ci est en fait simple, les exemples en ligne sont corrects et n'ont besoin de toucher qu'un seul fichier de configuration.
Utilisez la commande suivante pour installer systemd-journal-remote
Sudo apt-get install systemd-journal-remote
Éditer /etc/systemd/journal-upload.conf
.
/ etc/systemd/journal-upload.conf
[Upload]
URL=http://10.0.0.1:19532
# ServerKeyFile=/etc/ssl/private/journal-upload.pem
# ServerCertificateFile=/etc/ssl/certs/journal-upload.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem
Pour vous assurer que le démarrage automatique du téléchargement du journal au démarrage
Sudo systemctl enable systemd-journal-upload.service
Redémarrez le téléchargement du journal après la configuration.
Sudo systemctl restart systemd-journal-upload.service
Si vous utilisez http, vous pouvez faire comme ci-dessus et laisser les 3 dernières lignes commentées. Pour le mode https actif, décommentez-les et créez ces fichiers cert.
L'URL dicte en fait le protocole de transfert (http/https) et le port de destination à utiliser.
De plus, si vous souhaitez éviter un écrasement accidentel par une future mise à jour du package, vous pouvez créer un répertoire /etc/systemd/journal-upload.conf.d et y placer votre fichier de configuration, tant que le fichier se termine par une extension .conf.
En remarque, je fais cela dans un conteneur LXC et semble que le service n'utilisera pas/etc/hosts pour la résolution DNS, je finis par utiliser l'adresse IP ici. Donc, si vous utilisez le nom d'hôte et voyez un message d'erreur indiquant que le téléchargement du journal ne peut pas atteindre la cible, essayez avec l'adresse IP.
Le serveur de réception me donne la plupart des problèmes lors de la recherche d'informations de configuration. Et contrairement au serveur de téléchargement, la configuration est dispersée de ce côté.
Utilisez la commande suivante pour installer systemd-journal-remote et activer le port d'écoute
Sudo apt-get install systemd-journal-remote
Sudo systemctl enable systemd-journal-remote.socket
Il existe deux façons, active et passive, de configurer le journal à distance. J'utilise le mode passif ici.
Numéro de port
Le fichier de configuration du port d'écoute du journal est /etc/systemd/system/sockets.target.wants/systemd-journal-remote.socket
comme suit. ListenStream est le numéro de port.
Contrairement au côté téléchargement, ce paramètre n'a rien à voir avec le protocole (http/https) à utiliser. Il spécifie uniquement le numéro de port d'écoute.
[Unit]
Description=Journal Remote Sink Socket
[Socket]
ListenStream=19532
[Install]
WantedBy=sockets.target
Protocole (http/https) et emplacement du journal/journal
Pour modifier le protocole de transfert du journal et l'emplacement d'enregistrement, copiez /lib/systemd/system/systemd-journal-remote.service
en /etc/systemd/system/
, puis modifiez /etc/systemd/system/systemd-journal-remote.service
.
[Unit]
Description=Journal Remote Sink Service
Documentation=man:systemd-journal-remote(8) man:journal-remote.conf(5)
Requires=systemd-journal-remote.socket
[Service]
ExecStart=/etc/systemd/systemd-journal-remote \
--listen-http=-3 \
--output=/var/log/journal/remote/
User=systemd-journal-remote
Group=systemd-journal-remote
PrivateTmp=yes
PrivateDevices=yes
PrivateNetwork=yes
WatchdogSec=3min
[Install]
Also=systemd-journal-remote.socket
Le --listen-http=-3
spécifiez que le journal entrant utilise http. Si vous souhaitez utiliser https, remplacez-le par --listen-https=-3
.
--output=/var/log/journal/remote/
spécifiez le récepteur (répertoire de sauvegarde) du journal entrant. S'il n'existe pas, créez-le et changez son propriétaire en systemd-journal-remote
.
Sudo mkdir /var/log/journal/remote
Sudo chown systemd-journal-remote /var/log/journal/remote
Redémarrez journal-remote.socket après la configuration.
Sudo systemctl daemon-reload
Qu'en est-il du plus évident /etc/systemd/journal-remote.conf
?
[Remote]
# Seal=false
# SplitMode=Host
# ServerKeyFile=/etc/ssl/private/journal-remote.pem
# ServerCertificateFile=/etc/ssl/certs/journal-remote.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem
Comme je n'utilise pas https, je n'ai rien à changer.