[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

rsyslog с его шаблонами



Добрый день.

Есть проблема следующего плана: имеется debian 7.8, в нём rsyslog версии 5.8.11-3+deb7u2. Нужно принимать сообщения по
сети от различных устройств, записывать их в отдельные файлы и вставлять в начало каждой строки локальное время
сервера. Т.е. обычно в сообщениях syslog имеется timestamp, но не на всех устройствах настроено ntp и есть устройства,
которые шлют сообщения вообще без timestamp. Поэтому верить присылаемым данным нельзя, хотя их тоже можно записыватьв
лог.

Не могу настроить, чтобы все условия одновременно работали.

Работает вот такой темплейт:

$template SW,"/var/log/network-logs/%fromhost%-%fromhost-ip%.log"

if $fromhost-ip startswith '172.16.' then -?SW
& ~

Вроде пишет раздельно по файлам, но когда я пытаюсь добавлять время, то ничего не работает и не пишет.

Пробовал вот так:

$template SW,"%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

это почти копия примера документации, но вообще ничего не пишет так.

В более новых версиях rsyslog синтаксис отличается, но мне надо на указанной версии работать - дистрибутив же.

Как одновременно и по файлам динамически раскидывать и время сервера вставлять и версию не менять ?

Reply to: