
Запустив rsyslogd -N 1, я получаю две жалобы:
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 27 или до нее: параметр«RebindInterval» неизвестен-- опечатка в файле конфигурации? [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
и жалоба на последнюю строку:
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 43 или до нее: предупреждения в файле '/etc/rsyslog.conf' около строки 43 [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 43 или до нее: недопустимый символ '(' - есть ли где-то недопустимая escape-последовательность? [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 43 или до нее: предупреждения в файле '/etc/rsyslog.conf' около строки 43 [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 43 или до нее: недопустимый символ '=' - есть ли где-то недопустимая escape-последовательность? [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
rsyslogd: ошибка при анализе файла /etc/rsyslog.conf, на строке 43 или до нее: недопустимый символ '"' - есть ли где-то недопустимая escape-последовательность? [v8.27.0 попробуйте http://www.rsyslog.com/e/2207 ]
- Это странно, потому что rebindInterval должен быть известен:https://www.rsyslog.com/doc/v8-stable/configuration/modules/omfwd.html#rebindinterval
- Последняя строка также прямая, как в документе:https://www.rsyslog.com/doc/v8-stable/rainerscript/include.html#include-multiple-files
Конфигурация выглядит следующим образом: rsyslog 8.28 на Ubuntu 16.04.
# /etc/rsyslog.conf Configuration file for rsyslog
module(load="imuxsock")
module(
load="imklog"
LogPath="/proc/kmsg"
)
module(load="imudp")
input(
type="imudp"
port="514"
)
module(load="imtcp")
input(
type="imtcp"
port="514"
)
module(
load="builtin:omfwd"
# RebindInterval="5000" # ERROR shown by rsyslogd -N 1 : parameter 'RebindInterval' not known.
)
module(
load="builtin:omfile"
template="RSYSLOG_TraditionalFileFormat"
fileOwner="syslog"
fileGroup="syslog"
fileCreateMode="0640"
dirCreateMode="0755"
)
global(
preserveFQDN="on"
umask="0022"
)
include(file="/etc/rsyslog.d/*.conf")
решение1
Модуль имеет 2 вида параметров. Некоторые из них должны использоваться только с объектом module()
, а некоторые — с action()
объектом, ссылающимся на этот модуль. Посмотрите назад от определения RebindInterval
в цитируемой документации, и вы увидите, что он находится под заголовкомПараметры действия, и неПараметры модуля, поэтому вы можете использовать его только с
action(type="omfwd" RebindInterval=...)
Кроме того, include()
недоступно до версии 8.33, поэтому используйте устаревшую версию
$IncludeConfig /etc/rsyslog.d/*.conf
решение2
Я думаю, что RebindInterbal — это действие, не являющееся частью загрузки модуля, поэтому в rsyslogd.conf формат должен быть следующим:
module(load="builtin:omfwd")
action(type="omfwd" RebindInterval="5000")