я используюrsyslog 8.40и я пытаюсь настроить пересылку журналов с помощью очередей.
Мне удалось отправить журналы на серверы пересылки, используя следующие конфигурации.
action(type="omfwd" target="host1" port="10515" protocol="udp" )
action(type="omfwd" target="host2" port="10514" protocol="udp" )
Теперь я хочу хранить журналы в очередях, чтобы в случае выхода из строя целевого сервера я не терял журналы.
Для этого я делаю что-то вроде этого:
action(type="omfwd" target="host1" port="10515" protocol="udp"
queue.spoolDirectory="/var/lib/rsyslog"
queue.type="LinkedList"
queue.filename="host1.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
action(type="omfwd" target="host2" port="10514" protocol="udp"
queue.type="LinkedList"
queue.filename="host2.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
Если я отключу сервер пересылки, журналы не будут созданы в файле очереди, который, как я ожидаю, будет находиться в /var/lib/rsyslog, поскольку у меня есть такая настройка:
global(
net.enableDNS="off"
preserveFQDN="on"
umask="0004"
workDirectory="/var/lib/rsyslog"
)
JFTR,
- конфигурация не имеет ошибок конфигурации.
- Я включил отладку в rsyslogd, но это не выявило никаких ошибок.
решение1
Мне удалось выяснить причину такого поведения:
Цитата изздесь
Фактические файлы спула создаются только в том случае, если удаленный сервер не работает и в очереди в памяти больше нет места. По умолчанию кратковременный сбой удаленного сервера никогда не приведет к созданию файла на диске, поскольку по умолчанию в памяти может храниться пара сотен сообщений.