Настройка rsyslog
«rsyslog» – система (сервис) для управления журналами событий (далее – логами), позволяющая принимать данные из разных источников, преобразовывать их и отправлять в различные места назначения.
Для отправки логов через сервис «rsyslog» настройте
- отправителя: узел RAIDIX;
- получателя: удалённую Linux-систему.
Описание настроек представлено ниже в главе.
Настройка отправителя
Учитывайте следующие особенности настройки «rsyslog» в RAIDIX 5.2.5:
- В DC-системе настройки на одном узле автоматически применяются на втором.
- Если «rsyslog» настроен на узле, не входящем в DC, после создания DC настройте «rsyslog» на другом узле вручную.
Чтобы настроить узел RAIDIX для сбора и отправки логов, выполните
$ rdcli param logger modify [-ra <remote_address>] [-rp <remote_port>] [-re {1|0}]
где
<remote_address>
– IP-адрес удалённой системы для получения логов;<remote_port>
– номер порта удалённой системы для получения логов (по умолчанию – 514);{1|0}
– включить или выключить отправку логов.
Пример настройки получателя
В этой секции представлен пример настройки, в результате которого логи будут сортироваться в файлы /var/log/remote-%HOSTNAME%/%PROGRAMNAME%.log. Вы можете самостоятельно настраивать сортировку сообщений с помощью файла конфигруации «rsyslog». Подробнее о настройке ниже. Полная информация о «rsyslog» доступна на официальном сайте.
Чтобы настроить Linux-систему, принимающую логи:
-
Создайте или отредактируйте файл /etc/rsyslog.d/20-raidix-core-from-remote.conf следующим образом:
## Receiving logs from remote hosts module(load="imtcp" MaxSessions="500") input(type="imtcp" port="514" ruleset="remote") template(name="RemoteHost" type="string" string="/var/log/remote-%HOSTNAME%/%PROGRAMNAME%.log") ruleset(name="remote") { action(type="omfile" dynaFile="RemoteHost") stop }
Описание используемых настроек:
-
module (подробнее на официальном сайте rsyslog.com)
-
load
- Модуль для загрузки сообщений.
- imtcp – обеспечивает отправку syslog сообщений через TCP.
- Подробнее на официальном сайте rsyslog.com
-
MaxSessions
- Максимальное количество сессий. По умолчанию: 200.
-
-
input (подробнее на официальном сайте rsyslog.com)
-
type
- Тип модуля входных параметров.
-
port
- Порт для TCP-сервера.
-
ruleset
- Имя используемого набора правил.
-
-
template (подробнее на официальном сайте rsyslog.com)
-
name
- Имя шаблона.
-
type
- Тип шаблона.
- string – содержит шаблонную строку, которая будет применена.
-
string
- Текст строки для типа шаблона «string».
-
-
ruleset (подробнее на официальном сайте rsyslog.com)
-
name
- Имя набора правил.
-
-
-
Перезапустите сервис rsyslog:
# systemctl restart rsyslog.service
Пример сортировки получаемых сообщений c DC-системы с узлами «pro10» и «pro9»:
# ls /var/log/remote-pro10
attomdnsd.log kernel.log login-hook.log rdbroker.log rdconfig.log rdmetadata.log rdscan.alua_scst_watch.log rdscan.net_watch.log rdscan.raid_watch.log rsyslogd.log sshd.log
crond.log ledmon.log multipath.log rdcmd.log rdhb.log rdnotify.log rdscan.log rdscan.nvmeof_watch.log rdstat.log smartd.log sudo.log
# ls /var/log/remote-pro9/
crond.log kernel.log rdbroker.log rdhb.log rdscan.alua_scst_watch.log rdscan.mpath_watch.log rdscan.nvme_fabrics_subsystem_wa.log rdscan.raid_watch.log run-parts.log sudo.log
CROND.log multipath.log rdcmd.log rdmetadata.log rdscan.drive_watch.log rdscan.net_watch.log rdscan.nvmeof_watch.log rsyslogd.log sshd.log