Come configurare systemd journal-remote?


17

Come configurare systemd journal-remote per l'ascolto su una porta specifica?

Tutto quello che posso trovare sono esempi da riga di comando. E sulla base della pagina man, non sembra esserci alcuna opzione in journal-remote.conf.

Risposte:


31

Visto che non c'è nemmeno un singolo commento, ho deciso di continuare la mia ricerca e infine ho messo insieme la configurazione.

Sistema operativo: Ubuntu 16.04

systemd: 229-1ubuntu2

systemd-journal-remote: 229-1ubuntu2

Carica la configurazione del server

Questo in realtà è semplice, gli esempi online sono corretti e devono solo toccare un file di configurazione.

Utilizzare il seguente comando per installare systemd-journal-remote

sudo apt-get install systemd-journal-remote

Modifica /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

Per assicurarsi che il caricamento del journal si avvii automaticamente all'avvio

sudo systemctl enable systemd-journal-upload.service

Riavvia il caricamento del journal dopo la configurazione.

sudo systemctl restart systemd-journal-upload.service

Se stai usando http, puoi fare come sopra e lasciare le 3 righe in basso commentate. Per la modalità attiva https, decommentali e crea quei file cert.

L'URL in realtà detta il protocollo di trasferimento (http / https) e la porta di destinazione da utilizzare.

Inoltre, se si desidera impedire la sovrascrittura accidentale mediante futuri aggiornamenti del pacchetto, è possibile creare una directory /etc/systemd/journal-upload.conf.d e inserire il file di configurazione, purché il file termini con un'estensione .conf.

Come nota a margine, lo sto facendo all'interno di un contenitore LXC e sembra che il servizio non userà / etc / hosts per la risoluzione del DNS, finisco per usare l'indirizzo IP qui. Pertanto, se si utilizza il nome host e viene visualizzato il messaggio di errore che il caricamento del journal non è in grado di raggiungere la destinazione, provare con l'indirizzo IP.

Ricezione della configurazione del server

Il server ricevente mi dà la maggior parte dei problemi quando si cercano informazioni sulla configurazione. E a differenza del server di caricamento, la configurazione è sparsa su questo lato.

Utilizzare il comando seguente per installare systemd-journal-remote e abilitare la porta di ascolto

sudo apt-get install systemd-journal-remote
sudo systemctl enable systemd-journal-remote.socket

Esistono due modi, attivo e passivo, per configurare il journal-remote. Sto usando la modalità passiva qui.

Numero di porta

Il file di configurazione per la porta di ascolto del journal è /etc/systemd/system/sockets.target.wants/systemd-journal-remote.socketil seguente. ListenStream è il numero di porta.

A differenza del lato di caricamento, questa impostazione non ha nulla a che fare con quale protocollo (http / https) usare. Specifica solo il numero della porta di ascolto.

[Unit]
Description=Journal Remote Sink Socket

[Socket]
ListenStream=19532

[Install]
WantedBy=sockets.target

Protocollo (http / https) e posizione giornale / registro

Per modificare il protocollo del trasferimento da giornale e la posizione di salvataggio, copia /lib/systemd/system/systemd-journal-remote.servicein /etc/systemd/system/, quindi modifica /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

Il --listen-http=-3specificare la rivista in entrata sta usando http. Se si desidera utilizzare https, modificarlo in --listen-https=-3.

--output=/var/log/journal/remote/specifica il sink (directory di salvataggio) del journal in entrata. Se non esiste, crearlo e cambiare il suo proprietario in systemd-journal-remote.

sudo mkdir /var/log/journal/remote
sudo chown systemd-journal-remote /var/log/journal/remote

Riavvia journal-remote.socket dopo la configurazione.

sudo systemctl daemon-reload

E il più ovvio /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

Dal momento che non sto usando HTTPS, non è necessario modificare nulla.


> Seeing that there is not even a single comment, Non sorprende, hai fatto la tua domanda alle 22: 12UTC di venerdì, per la maggior parte delle persone che effettivamente rispondono alle domande qui che è il fine settimana.
utente9517

@Iain lol, non me ne sono accorto. Stavo guardando il journal-remote.conf per 3 notti prima di pubblicare la domanda, quindi puoi dire che ero disperato: p
John Siu,

Devi pulire / ruotare i file generati con questa configurazione?
Matt W,

2
@MattW Non è necessario il server di caricamento. Per il server ricevente, la configurazione di Journald può occuparsi della rotazione.
John Siu,

1
Non dovresti modificare i file in / lib / systemd / system. systemd ti dà / etc / systemd / system / per unità personalizzate. Basta copiare e incollare il file in / lib / systemd / system in quello / etc / systemd / system e sovrascriverà quello in lib.
nhooyr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.