Настройка отправки и получения логов через «rsyslog»

Настройка отправки и получения логов через rsyslog состоит из следующих этапов:

  • Настройка отправки и получения логов на СХД.
  • Настройка получения логов на Linux-системе.

Особенности и ограничения

Учитывайте следующие особенности и ограничения отправки и получения логов с СХД через «rsyslog»:

  • Для отправки с СХД доступны логи только уровня info.
  • Отправка доступна только для одной принимающей системы.
  • В DC-системе настройки на одном контроллере автоматически применяются на втором.
  • Если «rsyslog» настроен на контроллере, не входящем в DC, после включения DC-режима настройте «rsyslog» на другом контроллере вручную.

Настройка отправки и получения логов на СХД

Чтобы настроить СХД RAIDIX для сбора и отправки логов, выполните

$ rdcli param logger modify [-ra <remote_address>] [-rpo <remote_port>] [-rpr <remote_protocol>] [-re 1]

где

  • <remote_address> – IP-адрес принимающей системы;
  • <remote_port> – номер порта принимающей системы;
  • <remote_protocol> – транспортный протокол.
  • -re 1 – включение отправки логов.

Подробнее о синтаксисе команды в документе «Справочник CLI RAIDIX 5.3.0».

Настройка получения логов на Linux-системе

: Для настройки получения логов необходимы права root.

В секции представлен пример настройки, в результате которого Linux-система будет получать логи с СХД и сортировать их в файлы /var/log/remote-%HOSTNAME%/%PROGRAMNAME%.log. Вы можете самостоятельно настраивать сортировку сообщений с помощью файла конфигурации «rsyslog».

Чтобы настроить Linux-систему, принимающую логи:

  1. Создайте файл /etc/rsyslog.d/some_name.conf и пропишите конфигурацию сервиса «rsyslog» для получения логов с СХД.

    Пример конфигурации для протокола TCP:

    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
    }

    Пример конфигурации для протокола UDP:

    module(load="imudp")
    input(type="imudp" 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.

  2. Перезапустите сервис 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.

imudp – обеспечивает отправку syslog-сообщений через UDP.

MaxSessions

Максимальное количество сессий для модуля TCP.

input

type

Тип модуля входных параметров.

port

Порт сервера.

ruleset

Имя используемого набора правил.

template

name

Имя шаблона.

type

Тип шаблона.

string – содержит строку с шаблоном, который будет применён.

string

Текст строки для типа шаблона «string».

ruleset

name

Имя набора правил.