Я тестирую Loggly.com, который использует rsyslogd для сбора записей журнала. Loggly предоставляет скрипты, которые генерируют файлы конфигурации. Каждый файл конфигурации начинается с $ModLoad imfile , однако, похоже, это работает только для первой конфигурации, последующие конфигурации не будут включены и генерируют ошибку:

$ rsyslogd -N1
rsyslogd: version 8.16.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: module 'imfile' already in this config, cannot be added  [v8.16.0 try http://www.rsyslog.com/e/2221 ]

Некоторые другие системы conf позволят вам объявить что-то вроде

if not imfile $ModLoad imfile

Есть ли что-то подобное для rsyslogd? Является ли это очень очевидным упущением со стороны Loggly, или (что более вероятно) я что-то упускаю?

Вот пример макета папки для rsyslogd:

crw@beta:/etc/rsyslog.d$ ls
20-ufw.conf  21-cloudinit.conf  21-filemonitoring-web-err.conf  21-nginx.conf  22-loggly.conf  50-default.conf

Файлы 21- * автоматически генерируются скриптами Loggly.

1 ответ1

1

Я не знаком с loggly.com в частности, но я знаком с rsyslog. Все файлы conf в /etc/rsyslog.d/ включены в файл /etc/rsyslog.conf где говорится:

$IncludeConfig /etc/rsyslog.d/*.conf

Когда rsyslog читает свою конфигурацию, он не читает файлы конфигурации, как если бы они были отдельными. Все это объединено в один поток ввода. Если эти файлы были сгенерированы loggly, и у каждого была одна и та же строка $ModLoad , я считаю, что это было бы упущением с их стороны. Возможно, они не заметили, потому что, хотя он генерирует эти журналы ошибок, он фактически не препятствует запуску или запуску rsyslog.

Наконец, я не знаю if-оператора rsyslog, который работает с переменной $ModLoad . Я бы порекомендовал удалить эти лишние операторы $ModLoad . В качестве альтернативы, вы можете игнорировать эти ошибки, поскольку они доброкачественные.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .