6. Реализуйте логирование при помощи rsyslog на устройствах HQ-RTR, BR-RTR, BR-SRV:
Виртуальная машина HQ-SRV
Устанавливаем пакет rsyslog на HQ-SRV
# dnf install rsyslog -y
Открываем файл конфигурации /etc/rsyslog.conf
# nano /etc/rsyslog.conf
Четыре модуля должны быть закомментированы, что бы сервер не является клиентом самому себе
imjournalimuxsockimklogimmarkДля передачи логов используем протокол TCP, раскомментируем модуль imtcp, чтобы rsyslog получал логи с удаленных узлов.

Также необходимо в конец конфигурационного файла /etc/rsyslog.conf добавить шаблон для сбора логов, для сохранения логов по пути, который указан в задании
$template RemoteLogs, "/opt/%HOSTNAME%/rsyslog.txt"
*.* ?RemoteLogs
& stop

Запускаем и добавляем в автозагрузку службу rsyslog
# systemctl enable rsyslog --now
Виртуальная машина HQ-RTR
Устанавливаем пакет rsyslog на HQ-RTR
# dnf install rsyslog -y
Открываем файл конфигурации /etc/rsyslog.conf
# nano /etc/rsyslog.conf
В блоке MODULES нужно раскомментировать модули, которые обеспечивают поддержку логирования
imjournalimuxsockimklogimmark
В самый конец добавляем строку, которая отвечает за отправку логов уровня предупреждения (warning) и выше
*.warning @@192.168.100.2:514

Запускаем и добавляем в автозагрузку службу rsyslog
# systemctl enable rsyslog --now
Виртуальные машины BR-RTR и BR-SRV
BR-RTR и BR-SRV настраиваются аналогично HQ-RTR
Для проверки сообщения только уровня warning и выше, добавим записи различного уровня в лог на любом из клиентов с помощью команд
Обычное сообщение
logger -p user.info “Test info”
Сообщения уровня warning
logger -p user.warning “Test warning”
Сообщения уровня error
logger -p user.error “Test error”

Проверим на HQ-SRV содержимое файла /opt/br-srv/rsyslog.txt

Виртуальные машины HQ-SRV
Для ротации логов используется пакет logrotate, в РЕД ОС 8 – предустановлен
Открываем файл /etc/logrotate.d/rsyslog
# nano /etc/logrotate.d/rsyslog
И прописываем следующие строки
/opt/*/rsyslog.txt {
weekly # Ротация каждую неделю
size 10M # Размер лога в байтах, по достижении которого, он будет ротирован – 10 МБ
compress # Сжимать логи после ротации
missingok # Не выдавать ошибку, если файл отсутствует
notifempty # Не ротировать файл лога, если он пуст
create 0640 root root # Создавать новый пустой лог-файл после ротации с указанными правами
rotate 4 # Хранить заданное число старых логов,
}
Каждую неделю будут проверяться логи и если какие-то из них больше 10МБ, они будут сжаты в архив

Для автоматической ротация нужно использовать
cron
Для настройки автоматической ротации логов определяем полный путь к исполняемому файлу logrotate
# which logrotate
Вывод команды - /usr/sbin/logrotate

Для настройки автоматического запуска logrotate открываем утилиту crontab
# crontab -e
И добавляем в нее следующую запись
0 0 * * 0 /usr/sbin/logrotate -f /etc/logrotate.d/rsyslog

Проверить ротацию можно запустив logrotate в режиме отладки
# logrotate -d /etc/logrotate.d/rsyslog
Выведет все, что планируется сделать, но не будет изменять файлы на диске
Для запуска ротации вручную
# logrotate -f /etc/logrotate.d/rsyslog