Я запускаю приложение под systemd в CentOS 7. Оно регистрирует в stdout, а systemd просто записывает это в journalctl. Я бы также хотел:
Первоначально я исследовал использование multilog из djb daemontools, но, учитывая, что файлы модулей systemd не любят конвейеры оболочки в ExecStart
, плюс нет официального RPM для daemontools, входящего в состав CentOS, я надеюсь, что есть менее хитрый подход.
В настоящее время у меня есть logstash-forwarder, читающий системный журнал из /var/log/messages
и /var/log/secure
но я бы предпочел не включать сообщения, кроме этого конкретного приложения.
Третий участник плагин ввода для logstash, который читает журнал systemd напрямую доступен. Добавление поддержки прямо в logstash остается открытым вопросом.
Logstash теперь включает плагин ввода журнала systemd.
Это будет только ваше базовое решение, вроде этого journalctl -f -o json | tee -a /var/log/systemd
Вам понадобится ротация журнала для этого файла, чтобы позаботиться о размере, иначе он заполнится так быстро.
Определенно учитывая, что вам не нужно развертывать такие вещи, как logstash или fluentd