Файлы журналов приложений в журнал systemd

Оказалось, что мои настройки верны, но они не использовались.

>ps ax | grep dnsmasq
 1273 ?        S      0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Как видно, здесь не использовался файл conf ... Я провел еще несколько тестов, чтобы убедиться, что это так.


Я решил проблему, но сделал это следующим образом:

  • Отключение подключаемого модуля dnsmasq сетевого менеджера: закомментируйте строку dns в /etc/NetworkManager/NetworkManager.conf
  • Перемещение /etc/NetworkManager/dnsmasq.d/dnsmasq.conf в /etc/dnsmasq.conf
  • Добавление сервера имен catch all в /etc/dnsmasq.conf ( см. список файлов ниже)
  • Добавление адреса dnsmasq в начало файла /etc/resolve.conf (путем изменения файла /etc/resolvconf/resolv.conf.d/head ... см. ниже для списка файлов)
  • Запуск dnsmasq таким образом, что он не будет читать resolve.conf: dnsmasq -d -R -q (Я хотел регистрировать запросы на экране, чтобы я мог видеть что происходило).
  • У меня все работало. Я инкапсулировал dnsmasq в модульном файле systemD.

$ cat /etc/dnsmasq.conf
cache-size=1000
listen-address=127.0.1.1
server=8.8.8.8
server=/abcprivate.net/nn.nn.nn.nn
cache-size=1000

$ cat /etc/resolvconf/resolv.conf.d/head    
nameserver 127.0.1.1

$ cat /etc/systemd/system/dnsmasq.service
[Unit]
Description=SystemD - Dnsmasq is a Domain Name System (DNS) forwarder
Requires=network-manager.service

[Service]
Type=simple
ExecStart=/usr/sbin/dnsmasq -d -q -R
2
13.01.2017, 07:54
1 ответ

Вы можете попробовать это в файле своего служебного модуля:

ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'

Он будет несколько более хрупким, чем рекомендуемый шаблон регистрации в STDOUT, потому что если файл журнала is rotated tail не обязательно будет снова подключать файловый дескриптор, пока служба не будет перезапущена.

Насколько мне известно, нет встроенной функции для отслеживания файла журнала. Это то, что могут делать другие системы журналирования, такие как rsyslog .

2
27.01.2020, 22:10

Теги

Похожие вопросы