Як налаштувати systemd журнал-віддалений?


17

Як налаштувати systemd журнал-дистанційний для прослуховування на певному порті?

Все, що я можу знайти, - це приклади командного рядка. І базуючись на сторінці man, у журналі-remote.conf, здається, немає жодної опції.

Відповіді:


31

Побачивши, що немає жодного коментаря, я вирішив продовжити дослідження і, нарешті, склав конфігурацію разом.

ОС: Ubuntu 16.04

systemd: 229-1ubuntu2

systemd-journal-remote: 229-1ubuntu2

Завантажте конфігурацію сервера

Цей насправді простий, приклад в Інтернеті є правильним і потрібно торкнутися лише одного конфігураційного файла.

Для встановлення використовуйте наступну команду systemd-journal-remote

sudo apt-get install systemd-journal-remote

Редагувати /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

Щоб переконатися в автоматичному запуску журналу під час завантаження

sudo systemctl enable systemd-journal-upload.service

Перезапустіть завантаження журналу після конфігурації.

sudo systemctl restart systemd-journal-upload.service

Якщо ви використовуєте http, ви можете зробити так, як зазначено вище, і залишити коментовані 3 рядки внизу. У активному режимі https коментуйте їх та створіть ці файли cert.

URL-адреса фактично диктує протокол передачі (http / https) та порт призначення, який потрібно використовувати.

Крім того, якщо ви хочете запобігти випадковому перезапису майбутнім оновленням пакету, ви можете створити каталог /etc/systemd/journal-upload.conf.d і помістити ваш конфігураційний файл всередину, доки файл закінчується розширенням .conf.

Як зауважує бік, я роблю це в контейнері LXC і, здається, сервіс не використовуватиме / etc / hosts для роздільної здатності dns, я в кінцевому підсумку використовую тут IP-адресу. Тож якщо ви використовуєте ім'я хоста та бачите повідомлення про помилку, що завантаження журналу не може досягти цілі, спробуйте вказати IP-адресу.

Отримання конфігурації сервера

Сервер, що приймає, доставляє мені більшість проблем під час пошуку інформації про конфігурацію. І на відміну від сервера завантаження, конфігурація розсіяна по цій стороні.

Використовуйте наступну команду, щоб встановити systemd-journal-remote та включити порт прослуховування

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

Існує два способи, активний і пасивний, щоб налаштувати журнал-віддалений. Я тут використовую пасивний режим.

Номер порту

Файл конфігурації порту прослуховування журналу /etc/systemd/system/sockets.target.wants/systemd-journal-remote.socketнаступний. ListenStream - номер порту.

На відміну від сторони завантаження, цей параметр не має нічого спільного з тим, який протокол (http / https) використовувати. Він лише вказує номер порту прослуховування.

[Unit]
Description=Journal Remote Sink Socket

[Socket]
ListenStream=19532

[Install]
WantedBy=sockets.target

Протокол (http / https) та місцезнаходження журналу / журналу

Щоб змінити протокол передачі журналу та місце збереження, скопіюйте /lib/systemd/system/systemd-journal-remote.serviceйого /etc/systemd/system/та відредагуйте /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

--listen-http=-3Вказати входить журнал з допомогою HTTP. Якщо ви хочете використовувати https, змініть його на --listen-https=-3.

--output=/var/log/journal/remote/вкажіть мийку (каталог збереження) вхідного журналу. Якщо його не існує, створіть його та змініть його власника на systemd-journal-remote.

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

Перезапустіть журнал-remote.socket після конфігурації.

sudo systemctl daemon-reload

Що з найбільш очевидним /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

Оскільки я не використовую https, не потрібно нічого змінювати.


> Seeing that there is not even a single comment, Це не дивно, yoiu поставив ваше запитання о 22: 12UTC у п'ятницю, для більшості людей, які насправді відповідають на питання ось вихідні.
користувач9517

@Iain lol, я цього не помічав. Я переглядав журнал-remote.conf протягом 3 ночі перед тим, як поставити запитання, тож можна сказати, що я був у відчаї: p
Джон Сіу

Чи потрібно чистити / обертати файли, створені за допомогою цього налаштування?
Метт W

2
@MattW Немає необхідності в сервері завантаження. Для сервера, що приймає, конфігурація журналу може подбати про обертання.
Джон Сіу

1
Ви не повинні редагувати файли в / lib / systemd / system. systemd надає / etc / systemd / system / для користувацьких одиниць. Просто скопіюйте та вставте файл у / lib / systemd / system у ту / etc / systemd / system, і він замінить файл у lib.
nhooyr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.