Настройка сервера rsyslog для хранения лог-файлов подключенных хостов

Материал из Wiki AlterOS
Перейти к: навигация, поиск

Введение

Rsyslog позволяет настроить отправку событий операционной системы для определенного приложения на централизованный сервер. Использование сервера rsyslog позволяет организовать единую систему хранение лог-файлов из различных систем поддерживающих протокол syslog. Данных подход позволяет упростить контроль и анализ событий на подключенных системах. Настройка rsyslog под различных дистрибутивы Linux имеет минимальные отличия. В данной инструкции рассмотрим настройку rsyslog под AlterOS.

Предварительная настройка сервера

Синхронизация времени

Для синхронизации времени настроим chrony. В начале установим наш часовой пояс, для этого выполним команду чтобы вывести список часовых поясов и выбрать нужный:

 $ timedatectl list-timezones

Для установки часового пояса используем команду:

 $ timedatectl set-timezone <часовой пояс из списка выше>

Устанавливаем chrony:

 $ yum install chrony

Включим сервис командой:

 $ systemctl enable chronyd

Запустим сервис командой:

 $ systemctl start chronyd

Настройка фаерволла

Если на сервере будет использоваться межсетевой экран, то необходимо разрешить подключение для определенного порта:

Для firewelld:

 $ firewall-cmd --permanent --add-port=514/{tcp,udp}

Перечитываем конфигурацию командой:

 $firewall-cmd --reload

Для iptables:

 $ iptables -A INPUT -p tcp --dport 514 -j ACCEPT
 $ iptables -A INPUT -p udp --dport 514 -j ACCEPT
  • Конфигурация фаервола может быть иной, разрешающей подключение с определенных адресов.

SELinux

Если в операционной системе используется SELinux, то необходимо его отключить (нерекомендуется) или добавить следующие правила соответствующие портам в конфигурации rsyslog:

 $ semanage port -m -t syslogd_port_t -p tcp 514
 $ semanage port -m -t syslogd_port_t -p udp 514

Установка и настройка серверной части rsyslog

Установка серверной части производится командой:

 $ yum install rsyslog

Разрешаем сервис и включаем автостарт:

 $ systemctl enable rsyslog

Запускаем сервис:

 $ systemctl start rsyslog

Для первоначальной настройки необходимо раскоментировать в файле /etc/rsyslog.conf следующие строки: Для работы по UDP:

 $$ModLoad imudp
 $UDPServerRun 514

Для работы по TCP:

 $ModLoad imtcp
 $InputTCPServerRun 514
  • Можно использовать оба протокола UDP и TCP или оставить только какой-то один: более быстрый и менее безопасный UDP или более безопасный, но менее быстрый TCP.

В секции RULES описан механизм сохранения полученных данных в зависимости от их критерия. Если требуется изменить уровни и критерии получения и сохранения, то их можно изменить по собственному усмотрению. После внесения изменений перезапускаем службу командой:

 $ systemctl restart rsyslog

На этом работа на стороне серверной части завершена.

Установка и настройка клиентской части rsyslog

Установка клиентской части производится командой:

 $ yum install rsyslog

Разрешаем сервис и включаем автостарт:

 $ systemctl enable rsyslog

Запускаем сервис:

 $ systemctl start rsyslog

Настройка службы производится конфигурированием файла /etc/rsyslog.conf:

 $ nano /etc/rsyslog.conf

В конце файла дописываем необходимую нам конфигурацию для отправки только определенных событий на сервер:

В случае использования TCP:

 *.info;mail.none;authpriv.none;cron.none @[ip-адрес сервера]:514

В случае использование UDP:

 *.info;mail.none;authpriv.none;cron.none @@[ip-адрес сервера]:514
  • Уровень логгирования установим на info для всех событий. Приставка none нужна для запрета отправки соответствующих событий.

Например, для отправки всех событий по протоколу UDP необходимо указать в конфигурации следующее значение:

 *.* @@[ip-адрес сервера]:514

Перезапустим сервис командой:

$ systemctl restart rsyslog

Описание возможных критериев для лог-файлов

Таблица 1. Критерии лог-файлов.
Категория Описание
kern Сообщения, отправляемые ядром
user Пользовательские программы
mail Почта
daemon Сервисы (демоны)
auth Безопасность/вход в систему/аутентификация
syslog Сообщения от syslog
lpr Логи печати
news Новостные группы (usenet)
uucp Unix-to-Unix CoPy (копирование файлов между компьютерами)
cron Планировщик заданий
authpriv Безопасность/вход в систему/аутентификация - защищенный режим
ftp Логи при передачи данных по FTP
ntp Логи службы синхронизации времени (существует не везде)
security, log audit Журнал аудита (существует не везде)
console, log alert Сообщения, отправляемые в консоль (существует не везде)
solaris-cron, clock daemon Cron в solaris (существует не везде)
local0 - local7 Зарезервированы для локального использования. Уровень серьезности определяется числом от 0 до 7.


Описание возможных категорий/уровней для логгирования

Таблица 2. Уровни логгирования.
Уровень Расшифровка
emerg Система не работает (PANIC)
alert Серьезная проблема, требующая внимания
crit Критическая ошибка
err Ошибка (ERROR)
warning Предупреждение (WARN)
notice Важное информационное сообщение
info Информационное сообщение
debug Отладочная информация