@yarleshiy

RSYSLOG — как разделять логи с помощью фильтрации?

Микротик у меня отправляет логи на сервер через сервис Rsyslog. Логи ведутся, всё хорошо. Но появилась необходимость, разделять лог на файлы. К примеру - логи собираются при событиях: WiFi, PPPoE, Hotspot.
Нужно сделать так, чтобы Hotspot собирался в отдельный файл.

Все логи собираются по шаблону
$template ALL, "/var/log/!remote/%fromhost-ip%/syslog.log"
*.* ?ALL

Прописал фильтр, но не работает что то.
$template HOTSPOT, "/var/log/!remote/%fromhost-ip%/hotsopt.log"
if $msg contains 'Hotspot' then *.* ?HOTSPOT
  • Вопрос задан
  • 918 просмотров
Пригласить эксперта
Ответы на вопрос 2
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Ну вот несколько примеров.
# Все от программы ntpdate в файл /var/log/ntpdate
if $programname == 'ntpdate' then                       /var/log/ntp

# все остальное в файл /var/log/daemon
if $programname != 'ntpdate' \
    and $syslogfacility-text == 'daemon' then           /var/log/daemon

# Сообщения MARK в файл /var/log/marks
if $msg == '-- MARK --' then                            /var/log/marks

# остальные в /var/log/kernel
if $msg != '-- MARK --' \
    and $syslogfacility-text == 'kern' then             /var/log/kernel


У Rsyslog несмотря на наличие документации с примерами бяда-бяда...
Ответ написан
Комментировать
@yarleshiy Автор вопроса
Почему то не разделяет всё равно. Ни шаблонами, ни просто в файл.
Пишет всё в один общий файл..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы