Bagaimana cara mengkonfigurasi systemd jurnal-remote?

17

Bagaimana cara mengkonfigurasi systemd jurnal-remote untuk mendengarkan pada port tertentu?

Yang bisa saya temukan hanyalah contoh baris perintah. Dan berdasarkan halaman manual, sepertinya tidak ada opsi di jurnal-remote.conf.

John Siu
sumber

Jawaban:

31

Melihat bahwa tidak ada satu komentar pun, saya memutuskan untuk melanjutkan penelitian dan akhirnya menyatukan konfigurasi.

OS: Ubuntu 16.04

systemd: 229-1ubuntu2

systemd-journal-remote: 229-1ubuntu2

Unggah konfigurasi server

Yang ini sebenarnya sederhana, contoh online sudah benar dan hanya perlu menyentuh satu file konfigurasi.

Gunakan perintah berikut untuk menginstal systemd-journal-remote

sudo apt-get install systemd-journal-remote

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

Untuk memastikan unggahan jurnal dimulai secara otomatis saat boot

sudo systemctl enable systemd-journal-upload.service

Mulai kembali unggahan jurnal setelah konfigurasi.

sudo systemctl restart systemd-journal-upload.service

Jika Anda menggunakan http, Anda dapat melakukan seperti di atas dan membiarkan 3 baris terbawah dikomentari. Untuk mode aktif https, batalkan komentar dan buat file sertifikat tersebut.

URL sebenarnya menentukan protokol transfer (http / https) dan port tujuan untuk digunakan.

Selain itu jika Anda ingin mencegah penimpaan yang tidak disengaja oleh pembaruan paket di masa mendatang, Anda dapat membuat direktori /etc/systemd/journal-upload.conf.d dan memasukkan file konfigurasi Anda ke dalam, selama file berakhir dengan ekstensi .conf.

Sebagai catatan, saya melakukan ini dalam wadah LXC dan sepertinya layanan tidak akan menggunakan / etc / hosts untuk resolusi dns, saya akhirnya menggunakan alamat IP di sini. Jadi jika Anda menggunakan nama host dan melihat pesan kesalahan yang unggah jurnal tidak dapat mencapai target, coba dengan alamat IP.

Menerima konfigurasi server

Server penerima memberi saya sebagian besar masalah ketika mencari informasi konfigurasi. Dan tidak seperti server pengunggahan, konfigurasi tersebar di sisi ini.

Gunakan perintah berikut untuk menginstal systemd-jurnal-remote dan mengaktifkan port mendengarkan

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

Ada dua cara, aktif dan pasif, untuk mengkonfigurasi jurnal-jarak jauh. Saya menggunakan mode pasif di sini.

Nomor port

File konfigurasi untuk port mendengarkan jurnal adalah /etc/systemd/system/sockets.target.wants/systemd-journal-remote.socketsebagai berikut. ListenStream adalah nomor port.

Berbeda dengan sisi pengunggahan, pengaturan ini tidak ada hubungannya dengan protokol (http / https) mana yang digunakan. Ini hanya menentukan nomor port mendengarkan.

[Unit]
Description=Journal Remote Sink Socket

[Socket]
ListenStream=19532

[Install]
WantedBy=sockets.target

Protokol (http / https) dan lokasi jurnal / log

Untuk mengubah protokol transfer jurnal dan menyimpan lokasi, salin /lib/systemd/system/systemd-journal-remote.serviceke /etc/systemd/system/, lalu edit /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

The --listen-http=-3tentukan jurnal yang masuk menggunakan http. Jika Anda ingin menggunakan https, ubah ke--listen-https=-3 .

--output=/var/log/journal/remote/tentukan wastafel (direktori penyimpanan) jurnal yang masuk. Jika tidak ada, buat dan ubah pemiliknya menjadi systemd-journal-remote.

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

Mulai ulang jurnal-remote.socket setelah konfigurasi.

sudo systemctl daemon-reload

Bagaimana dengan yang paling jelas /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

Karena saya tidak menggunakan https, saya tidak perlu mengubah apa pun.

John Siu
sumber
> Seeing that there is not even a single comment, Itu tidak mengherankan, yoiu mengajukan pertanyaan Anda pada 22: 12UTC pada hari Jumat, untuk sebagian besar orang yang benar-benar menjawab pertanyaan di sini yaitu akhir pekan.
user9517 didukung GoFundMonica
@ Iain lol, saya tidak memperhatikan itu. Saya sedang melihat jurnal-remote.conf selama 3 malam sebelum saya memposting pertanyaan, sehingga Anda dapat mengatakan saya putus asa: p
John Siu
Apakah Anda harus membersihkan / memutar file yang dihasilkan dengan pengaturan ini?
Matt W
2
@MattW Tidak perlu server unggah. Untuk server penerima, konfigurasi journald dapat menangani rotasi.
John Siu
1
Anda seharusnya tidak mengedit file di / lib / systemd / system. systemd memberi Anda / etc / systemd / system / untuk unit kustom. Cukup salin dan tempel file di / lib / systemd / system ke / etc / systemd / system itu dan itu akan menggantikan yang ada di lib.
nhooyr