Настройка rsyslog на ПАК, отличающихся от МХД.О

На узлах ПАК, отличающихся от МХД.О, используйте передачу логов из rsyslog в VictoriaLogs через локально установленный vlagent.

Узлы, на которых выполняется установка и настройка rsyslog, далее называются целевыми.

Фрагмент архитектурной схемы в разрезе потока логов с узла до хранилища логов VictoriaLogs:

image$victorialogs logs flow

Системные требования

На целевых узлах должны быть установлены или доступны для установки из репозиториев ОС следующие пакеты:

  • rsyslog версии 8.1901 или новее;

  • rsyslog-gnutls;

  • rsyslog-journal (только Альт Сервер).

Если пакеты недоступны в репозиториях, либо их версии ниже допустимых, установите пакеты требуемых версий вручную.

Настройка

  1. Установите на узел plagent, следуя инструкции Агенты платформы.

  2. В интерфейсе Визион выберите раздел Объекты.

  3. На панели Контур выберите ПАК.

  4. Выберите вкладку Агенты логов.

  5. Нажмите кнопку Сконфигурировать агенты.

  6. Выберите расположение Прокси и узлы, на которые необходимо установить агенты логов.

  7. Нажмите кнопку Сохранить.

  8. На узлах сконфигурируйте rsyslog для передачи журналов в vlagent. Для этого в директории /etc/rsyslog.d/ создайте файл со следующим содержимым:

    module(
      load="imfile"
      mode="inotify"
    )
    
    global(
      DefaultNetstreamDriver="gtls"
      DefaultNetstreamDriverCAFile="/opt/skala-r/vision/cert/components_default.crt"
      DefaultNetstreamDriverCertFile="/opt/skala-r/vision/cert/components_default.crt"   # Путь к сертификату клиента (rsyslog)
      DefaultNetstreamDriverKeyFile="/opt/skala-r/vision/cert/components_default.key"    # Путь к приватному ключу клиента (rsyslog)
    )
    
    template(
      name="RFC5424WithSD"
      type="string"
      string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% [ filename=\"%$!metadata!filename%\" ] %msg%\n"
    )
    
    input(
      type="imfile"
      File="/path/to/logs/*.log"
      Tag="vsn"
      Facility="local0"
      PersistStateInterval="1"
      addMetadata="on"
      reopenOnTruncate="on"
      deleteStateOnFileDelete="on"
    )
    
    if $syslogtag startswith "vsn" then {
      action(
        type="omfwd"
        Target="127.0.0.1"
        Port="29515"
        Protocol="tcp"
        StreamDriver="gtls"
        StreamDriverMode="1"
        StreamDriverAuthMode="x509/certvalid"
        #StreamDriverAuthMode="anon"
        Template="RFC5424WithSD"
        queue.type="linkedlist"
        queue.spoolDirectory="/var/spool/rsyslog"
        queue.fileName="remote_forward"
        queue.maxDiskSpace="1g"
        queue.saveOnShutdown="on"
        action.resumeRetryCount="-1"
        gnutlsPriorityString="SECURE128:-VERS-TLS-ALL:+VERS-TLS1.3" # работа с tls1.3
      )
      stop
    }
  9. Исправьте шаблоны имён файлов для сбора логов по образцу:

    File="/path/to/logs/*.log"
  10. Каждый шаблон оформите в виде отдельного input.

  11. Настройте действия для отправки логов локально по tcp с tls на порт 29515.

  12. Укажите параметры работы с TLS.

    vlagent по умолчанию работает с MTLS и TLS 1.3.

    Для корректной работы MTLS укажите пути к файлам сертификата и ключа клиента.

    Для корректной работы TLS 1.3 укажите пути к файлам сертификата и ключа клиента, а также значение параметра gnutlsPriorityString.

    Корневой сертификат для vlagent настраивается в конфигурационном файле Визион config.yml в секции remote_components.log_agent.tls_ca_file.

  13. Проверьте корректность новой конфигурации:

    rsyslogd -N1
  14. При отсутствии ошибок перезапустите rsyslog для применения изменений:

    systemctl restart rsyslog
  15. Проверьте поступление логов в VictoriaLogs:

    https://<vision_ip>/vision/victorialogs/select/vmui

    Здесь <vision_ip> — IP-адрес сервера Визион.

  16. В случае отсутствия логов в хранилище проверьте журналы компонентов на наличие ошибок.