Как настроить systemd journal-remote для прослушивания определенного порта?
Все, что я могу найти, это примеры командной строки. И, основываясь на странице руководства, похоже, что в journal-remote.conf нет никакой опции.
Увидев, что нет ни единого комментария, я решил продолжить свои исследования и, наконец, собрал конфигурацию по кусочкам.
ОС: Ubuntu 16.04
systemd: 229-1ubuntu2
системный журнал-удаленный: 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 раскомментируйте их и создайте эти файлы сертификатов.
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
После настройки перезапустите journal-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, ничего менять не нужно.