Настройка отправки и получения логов через «rsyslog»
«rsyslog» – программа и сервис для Linux-систем для управления журналами событий (далее – логами), в том числе уведомлений, позволяющая принимать данные по протоколу Syslog из разных источников, преобразовывать их и отправлять в различные места назначения.
Настройка отправки и получения логов состоит из следующих этапов:
- Настройка отправки логов на СХД;
- Настройка получения логов на Linux-системе.
Перед настройкой ознакомьтесь с особенностями и ограничениями в секции Особенности и ограничения.
Особенности и ограничения
Учитывайте следующие особенности и ограничения отправки и получения логов с СХД через «rsyslog»:
- Для отправки с СХД доступны логи только уровня info.
- Отправка доступна только для одной принимающей системы.
- В DC-системе настройки на одном контроллере автоматически применяются на втором.
- Если «rsyslog» настроен на контроллере, не входящем в DC, после включения DC-режима настройте «rsyslog» на другом контроллере вручную.
Настройка отправки и получения логов на СХД
Чтобы настроить СХД RAIDIX для сбора и отправки логов, выполните
$ rdcli param logger modify [-ra <remote_address>] [-rpo <remote_port>] [-re 1]
где
<remote_address>
– IP-адрес принимающей системы;<remote_port>
– номер порта принимающей системы;-re 1
– включение отправки логов.
Подробнее о синтаксисе команды в документе «Справочник CLI RAIDIX 5.2.4».
Настройка получения логов на Linux-системе
В секции представлен пример настройки, в результате которого Linux-система будет получать логи с СХД и сортировать их в файлы /var/log/remote-%HOSTNAME%/%PROGRAMNAME%.log. Вы можете самостоятельно настраивать сортировку сообщений с помощью файла конфигурации «rsyslog».
Чтобы настроить Linux-систему, принимающую логи:
-
Создайте файл /etc/rsyslog.d/some_name.conf и пропишите конфигурацию сервиса «rsyslog» для получения логов с СХД.
Пример конфигурации:
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 }
Описание параметров, используемых в примерах, см. в секции Параметры конфигурации «rsyslog». Полная информация о сервисе «rsyslog» доступна на официальном сайте rsyslog.
-
Перезапустите сервис 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-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
Параметры конфигурации «rsyslog»
В секции представлено описание параметров конфигурационного файла «rsyslog», используемых в примерах. Полная информация о сервисе «rsyslog» доступна на официальном сайте rsyslog.
Параметр | Значение | Описание |
---|---|---|
module |
load |
Модуль для загрузки сообщений. imtcp – обеспечивает отправку syslog-сообщений через TCP. |
MaxSessions |
Максимальное количество сессий для модуля TCP. |
|
input |
type |
Тип модуля входных параметров. |
port |
Порт сервера. |
|
ruleset |
Имя используемого набора правил. |
|
template |
name |
Имя шаблона. |
type |
Тип шаблона. string – содержит строку с шаблоном, который будет применён. |
|
string |
Текст строки для типа шаблона «string». |
|
ruleset |
name |
Имя набора правил. |