Логирование событий на удаленный сервер rsyslog

System–>Logging–>Actions–>New Action

Type – remote

Remote Address – IP сервера syslog

Потом делаем новый Rules

В поле Topics выбираем события какие мы хотим логировать, в поле Action выбираем наш созданный action.

На стороне сервера нужно отредактировать rsyslog.conf, раскоментировав следующие строки:

# vi /etc/rsyslog.conf

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

и создать конфигурационный файл, в котором пропишем путь для отдельного файла лога, что бы события не писались или дублировались в /var/log/messages:

# vi /etc/rsyslog.d/mikrotik.conf

$template FILENAME,"/var/log/mikrotik/%fromhost-ip%/syslog.log" 
if $fromhost-ip != '127.0.0.1' then ?FILENAME 
& stop

Проверить firewall на предмет открытия 514 udp порта.

После этого

# systemctl restart rsyslog

И можно наблюдать события

# less /var/log/mikrotik/192.168.1.1/syslog.log

Настроим ротацию логов:

# cat /etc/logrotate.d/mikrotik 
/var/log/mikrotik/*/*.log {
        weekly
        rotate 12
        compress
        olddir /var/log/mikrotik/old
        missingok
        notifempty
        create 0644 root root
}

Проверим

# /usr/sbin/logrotate -d /etc/logrotate.conf 2> /tmp/logrotate.debug

Ротация логов будет осуществляться еженедельно, во всех директориях, хранится будет хранится 12 сжатых архивов, директория для хранения /var/log/mikrotik/old.

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *