Как мне управлять журналами из моих собственных системных служб?

Я развернул пару демонов на ящиках ubuntu и завернул их в качестве системных служб. Их стандартный вывод перенаправляется в журнал по умолчанию, на что я надеялся.

Теперь выясняется, что конфигурация по умолчанию на ubuntu (я думаю, такая же на debian) должна сделать journald переадресовывать все события в / run / systemd / journal / syslog (см. /etc/systemd/journald.conf: # ForwardToSyslog = yes) и с помощью модуля imuxsock вы можете получить данные rsyslog (см. /etc/rsyslog.conf). По умолчанию я также вижу это, потому что в /etc/rsyslog.d/50-default.conf мы имеем следующую строку:

  • Выйти в файл и прочитать его
  • rsyslog не отбрасывает сообщение, как следует
  • Терминал - слишком маленький дисплей для запуска menuconfig?
  • Невозможно рекурсивно
  • Как создать видео Mix Mix с kdenlive?
  • Замена для php5-auth-pam для аутентификации входа в сайт для локальных пользователей
  • , ; auth, authpriv.none – / var / log / syslog

    т.е. все неавторизованные данные заканчиваются в / var / log / syslog

    Поскольку я хотел отслеживать вывод моих сервисов в журнале, я сделал файл журнала journald постоянным, создав / var / log / journal (в /etc/systemd/journald.conf, значение по умолчанию для хранилища – автоматически).

    В результате все дублирующиеся данные журнала сохраняются один раз в журналеdd и один раз в файле rsyslog / var / log / syslog.

    Таким образом, по разным причинам, я действительно хочу сохранить данные своей собственной службы в журнале, но я действительно не хочу дублировать эти данные (есть много журналов!).

    Я вижу несколько вариантов:

    1. полностью отключить rsyslog. Я беспокоюсь, что могу пропустить много данных из других сервисов, если я это сделаю: кто знает, что другой код в моей инфраструктуре читает / var / log / *
    2. попробуйте отключить только daemon.info, потому что это то, что, по-видимому, является средством / уровнем регистрации по умолчанию для моих служб. Я беспокоюсь, что следующее может заставить меня игнорировать другие полезные сообщения, которые, как оказалось, имеют один и тот же объект / уровень: /

    , ; auth, authpriv.none; daemon.! = info – / var / log / syslog

    1. Измените интеграцию rsyslog / journald, чтобы использовать модуль ввода imjournal, игнорировать imuxsock (как и в Fedora) и писать правила rsyslog, более конкретные для каждой из моих служб

    Теперь встает вопрос: какой будет рекомендуемый способ?

    Linux и Unix - лучшая ОС в мире.