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