LINUX.ORG.RU
ФорумAdmin

Заставить rsyslog разделять на разные файлы по источнику

 


0

1

Добрый день!

Вроде бы плёвая задача, но что-то пошло не так. Есть у меня сервер rsyslog в сети, на который я натравливают другие linux образные машины для агрегации логов.

Создан файлик /etc/rsyslog.d/00-remote.conf
со следующим содержимым:

template(name="DynFile" type="string" string="/var/log/remote/system-%FROMHOST-IP%.log")
ruleset(name="RemoteMachine"){  action(type="omfile" dynaFile="DynFile")  }
module(load="imudp")
input(type="imudp" port="514" ruleset="RemoteMachine")
module(load="imtcp")
input(type="imtcp" port="514" ruleset="RemoteMachine")

Всё как бы хорошо, файлы от улов складируются в папку /var/log/remote/ и у каждого хоста свой файлик.
Тут захотелось обособить некоторые в отдельные файлы. Для чего создал файлик: /etc/rsyslog.d/10-valihanova.conf
со следующим содержимым:
if $fromhost startswith 'valihanova' then /var/log/remote/valihanova.log
& stop

И он не работает.

Строки в лог поступают следующие:
Mar 29 10:56:28 valihanova kernel: [756545.363565] eth1: link down

т.е. должно как-то совпадать и работать, а не работает. Что я упускаю?

if $hostname == 'xxxxxx' then /var/log/xxxxxx

работает не первый год.

Там есть 2 переменные: fromhost и hostname. Какая-то из них зависит от настроек DNS.

Запусти в режиме отладки и посмотри почему оно не срабатывает.

vel ★★★★★
()
Ответ на: комментарий от vel

Про переменные я уже знаю :) но тогда создавался бы хоть какой нить файл. А так никакого кроме «основного».
Чё то отладка мало помогла. Но ещё поколупаю. Спасибо.

Spider55
() автор топика
Ответ на: комментарий от Spider55

Про ruleset я не заметил.

ruleset(name="RemoteMachine"){  action(type="omfile" dynaFile="DynFile")  }
Проверку имя хоста не пробовал переносить в него ?

vel ★★★★★
()
Ответ на: комментарий от vel

Вчера начал разбираться как ruleset работает. Ещё не допёр :)

Spider55
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.