Настройка сервера rsyslog для хранения лог-файлов подключенных хостов — различия между версиями
(Новая страница: «Настройка сервера rsyslog для хранения лог-файлов подключенных хостов. ==Введение== <b>Rsyslog</b>…») |
|||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
− | |||
==Введение== | ==Введение== | ||
− | <b>Rsyslog</b> позволяет настроить отправку | + | <b>Rsyslog</b> позволяет настроить отправку событий операционной системы для определенного приложения на централизованный сервер. |
− | Использование сервера rsyslog позволяет организовать единую систему хранение лог-файлов | + | Использование сервера <b>rsyslog</b> позволяет организовать единую систему хранение лог-файлов из различных систем поддерживающих протокол <b>syslog</b>. Данных подход позволяет упростить контроль и анализ событий на подключенных системах. |
− | Настройка rsyslog под различных дистрибутивы Linux имеет минимальные отличия. В данной инструкции рассмотрим настройку rsyslog под AlterOS. | + | Настройка rsyslog под различных дистрибутивы Linux имеет минимальные отличия. В данной инструкции рассмотрим настройку <b>rsyslog</b> под <b>AlterOS</b>. |
==Предварительная настройка сервера== | ==Предварительная настройка сервера== | ||
Строка 10: | Строка 8: | ||
Для синхронизации времени настроим <b>chrony</b>. В начале установим наш часовой пояс, для этого выполним команду чтобы вывести список часовых поясов и выбрать нужный: | Для синхронизации времени настроим <b>chrony</b>. В начале установим наш часовой пояс, для этого выполним команду чтобы вывести список часовых поясов и выбрать нужный: | ||
$ timedatectl list-timezones | $ timedatectl list-timezones | ||
− | |||
Для установки часового пояса используем команду: | Для установки часового пояса используем команду: | ||
$ timedatectl set-timezone <часовой пояс из списка выше> | $ timedatectl set-timezone <часовой пояс из списка выше> | ||
− | |||
Устанавливаем <b>chrony</b>: | Устанавливаем <b>chrony</b>: | ||
$ yum install chrony | $ yum install chrony | ||
− | Включим сервис: | + | Включим сервис командой: |
$ systemctl enable chronyd | $ systemctl enable chronyd | ||
Запустим сервис командой: | Запустим сервис командой: | ||
$ systemctl start chronyd | $ systemctl start chronyd | ||
− | |||
===Настройка фаерволла=== | ===Настройка фаерволла=== | ||
Если на сервере будет использоваться межсетевой экран, то необходимо разрешить подключение для определенного порта: | Если на сервере будет использоваться межсетевой экран, то необходимо разрешить подключение для определенного порта: | ||
+ | |||
Для <b>firewelld</b>: | Для <b>firewelld</b>: | ||
$ firewall-cmd --permanent --add-port=514/{tcp,udp} | $ firewall-cmd --permanent --add-port=514/{tcp,udp} | ||
− | + | ||
− | + | Перечитываем конфигурацию командой: | |
$firewall-cmd --reload | $firewall-cmd --reload | ||
Строка 36: | Строка 32: | ||
===SELinux=== | ===SELinux=== | ||
− | Если в операционной системе используется SELinux, то необходимо его отключить (нерекомендуется) или добавить следующие правила: | + | Если в операционной системе используется <b>SELinux</b>, то необходимо его отключить (нерекомендуется) или добавить следующие правила соответствующие портам в конфигурации rsyslog: |
$ semanage port -m -t syslogd_port_t -p tcp 514 | $ semanage port -m -t syslogd_port_t -p tcp 514 | ||
Строка 47: | Строка 43: | ||
Разрешаем сервис и включаем автостарт: | Разрешаем сервис и включаем автостарт: | ||
$ systemctl enable rsyslog | $ systemctl enable rsyslog | ||
− | + | ||
Запускаем сервис: | Запускаем сервис: | ||
$ systemctl start rsyslog | $ systemctl start rsyslog | ||
− | Для первоначальной настройки необходимо | + | Для первоначальной настройки необходимо раскоментировать в файле <b>/etc/rsyslog.conf</b> следующие строки: |
Для работы по <b>UDP</b>: | Для работы по <b>UDP</b>: | ||
$$ModLoad imudp | $$ModLoad imudp | ||
Строка 69: | Строка 65: | ||
==Установка и настройка клиентской части rsyslog== | ==Установка и настройка клиентской части rsyslog== | ||
− | Установка | + | Установка клиентской части производится командой: |
$ yum install rsyslog | $ yum install rsyslog | ||
Разрешаем сервис и включаем автостарт: | Разрешаем сервис и включаем автостарт: | ||
$ systemctl enable rsyslog | $ systemctl enable rsyslog | ||
− | + | ||
Запускаем сервис: | Запускаем сервис: | ||
$ systemctl start rsyslog | $ systemctl start rsyslog | ||
− | + | ||
Настройка службы производится конфигурированием файла <b>/etc/rsyslog.conf</b>: | Настройка службы производится конфигурированием файла <b>/etc/rsyslog.conf</b>: | ||
$ nano /etc/rsyslog.conf | $ nano /etc/rsyslog.conf | ||
− | В конце файла дописываем необходимую нам конфигурацию для отправки только определенных | + | В конце файла дописываем необходимую нам конфигурацию для отправки только определенных событий на сервер: |
В случае использования TCP: | В случае использования TCP: | ||
− | + | *.info;mail.none;authpriv.none;cron.none @[ip-адрес сервера]:514 | |
В случае использование UDP: | В случае использование UDP: | ||
− | + | *.info;mail.none;authpriv.none;cron.none @@[ip-адрес сервера]:514 | |
− | *Уровень логгирования установим на <b>info</b> для всех событий. Приставка none | + | *Уровень логгирования установим на <b>info</b> для всех событий. Приставка <b>none</b> нужна для запрета отправки соответствующих событий. |
− | Например, для отправки всех событий по протоколу UDP | + | Например, для отправки всех событий по протоколу UDP необходимо указать в конфигурации следующее значение: |
− | + | *.* @@[ip-адрес сервера]:514 | |
Перезапустим сервис командой: | Перезапустим сервис командой: | ||
$ systemctl restart rsyslog | $ systemctl restart rsyslog | ||
− | + | ||
− | ==Описание | + | ==Описание возможных критериев для лог-файлов== |
{| class="wikitable" | {| class="wikitable" |
Текущая версия на 14:00, 25 апреля 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, то необходимо его отключить (нерекомендуется) или добавить следующие правила соответствующие портам в конфигурации 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
Описание возможных критериев для лог-файлов
Категория | Описание |
---|---|
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 | Отладочная информация |