Какой сервис ожидает svlogd от runit?
В руководстве runit говорится, что в конфигурации можно использовать опцию для отправки журналов в:
ua.bcd[:port] сообщает svlogd о передаче первых символов len выбранных сообщений журнала на IP-адрес abcd, номер порта port. Если порт не установлен, используется порт по умолчанию для системного журнала (514). len можно установить с помощью опции -l, см. ниже. Если svlogd не может отправить пакеты udp, он записывает сообщения об ошибках в каталог журнала. Внимание: регистрация через udp ненадежна и должна использоваться только в частных сетях.
я знаю это rsyslogd
работает список на этот порт. Так что это может быть одним из возможных вариантов...
Но есть ли другие?
1 ответ
Вопрос немного расплывчатый, но, судя по всему, вы спрашиваете, можете ли вы использовать svlogd
отправлять сообщения системного журнала в другую программу, кроме rsyslogd
, Ответ таков: любая программа, предоставляющая сервис системного журнала, будет достаточной. Есть больше, чем просто rsyslogd
это обеспечивает сетевой сервис системного журнала.
Однако способ, которым runit предназначался для "естественной" обработки журналов, вероятно, обратен тому, что вы думаете.
Идея в том, что у вас есть какой-то сервис, и этот сервис записывает вывод через stdout или stderr. runsv
программа будет воспитывать svlogd
и установить трубу между вашим обслуживанием и svlogd
; все, что нужно сделать вашей службе, - это отправить данные в stdout / stderr, svlogd запишет прямо на диск, и жизнь будет хорошей. Поскольку труба поддерживается runsv
в случае возникновения проблем с отключением сервиса выходные данные по-прежнему регистрируются и доставляются в svlogd
- так что в теории вы не потеряете данные регистрации из-за сбоя службы.
Есть другая программа того же автора, socklog
, который действует как интерфейс системного журнала, который направляет к svlogd
, Потому что есть много программ, которые просто предполагают, что /dev/log
доступен, socklog
предоставляет этот интерфейс, так что данные системного журнала могут быть захвачены - он действует как вспомогательная служба системного журнала. Это противоположно тому, что вы предлагаете.
Я не говорю, что вы не должны использовать syslog, я просто говорю, что есть несколько способов сделать это. Если вы действительно хотите перенаправить вывод из svlogd обратно в syslog, то да, любая старая служба syslog будет работать нормально, но, возможно, стоит подумать о том, чтобы перейти на "все родное" и отказаться от использования. rsyslogd
в целом, если ваша установка позволяет это.