В документации rsyslog кажется, что вы можете использовать подстановочные знаки в файлах.
Файл
Отслеживаемый файл. Пока что это должно быть абсолютное имя (без макросов или шаблонов). Обратите внимание, что подстановочные знаки поддерживаются на уровне имени файла (см. Ниже подстановочные знаки для получения дополнительной информации).
Подстановочные знаки
До версии: 8.25.0
Подстановочные знаки поддерживаются только в части имени файла, но не в именах каталогов.
/var/log/*.log
работает.
/var/log/*/syslog.log
не работает.
Начиная с версии: 8.25.0
Подстановочные знаки поддерживаются в имени файла и путях, что означает, что эти примеры будут работать:
/var/log/*.log
работает.
/var/log/*/syslog.log
работает.
/var/log/*/*.log
работает.
Все соответствующие файлы во всех соответствующих подпапках будут работать. Обратите внимание, что это может снизить производительность в imfile в зависимости от того, сколько каталогов и файлов просматривается динамически.
Если вы хотите переслать ваши журналы vhosts, вы можете изменить конфигурацию непосредственно в конфигурации NGINX vhosts. следует изменить / добавить политики access_log
и error_log
, как описано здесь или использовать пользовательские средства для пересылки ваших журналов (с помощью rsyslog).
КАК ЭТО С ИСПОЛЬЗОВАНИЕМ RSYSLOG?
Создайте новый пользовательский файл в /etc/rsyslog.d/nginx_custom.conf
:
module(load="imfile" PollingInterval="1") #needs to be done just once
# File 1
input(type="imfile"
File="/var/log/nginx/www.website-*.com-error.log"
Tag="websites"
Facility="local0")
local0.* @logs4.papertrailapp.com:44407
#Just to test that logs are forwarded, comment the line once you've tested it
local0.* /var/log/test.log
и перезапустите службу rsyslog
NOTE : строка local0.* /var/log/test.log
просто для проверки того, что вы можете видеть перенаправленные журналы на ваш локальный сервер, прокомментируйте эту строку после того, как вы проверили, что все работает.