Настройка 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-систему, принимающую логи:

: Для настройки приёма сообщений необходимы права root.
  1. Создайте или отредактируйте файл /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

        • Имя набора правил.
  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-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