Настройка сервера rsyslog для хранения лог-файлов подключенных хостов — различия между версиями
(Новая страница: «Настройка сервера rsyslog для хранения лог-файлов подключенных хостов. ==Введение== <b>Rsyslog</b>…») |
|||
Строка 1: | Строка 1: | ||
− | |||
− | |||
==Введение== | ==Введение== | ||
<b>Rsyslog</b> позволяет настроить отправку логов для определенного приложения на централизованный сервер. | <b>Rsyslog</b> позволяет настроить отправку логов для определенного приложения на централизованный сервер. |
Версия 16:33, 24 апреля 2023
Содержание
Введение
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, то необходимо его отключить (нерекомендуется) или добавить следующие правила:
$ 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
Описание воможных критериев для лог-файлов
Категория | Описание |
---|---|
kern | Сообщения, отправляемые ядром |
user | Пользовательские программы |
Почта | |
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. |
Описание возможных категорий/уровней для логгирования
Уровень | Расшифровка |
---|---|
emerg | Система не работает (PANIC) |
alert | Серьезная проблема, требующая внимания |
crit | Критическая ошибка |
err | Ошибка (ERROR) |
warning | Предупреждение (WARN) |
notice | Важное информационное сообщение |
info | Информационное сообщение |
debug | Отладочная информация |