Настройка сбора и приёма логов в VictoriaLogs

На узлах ПАК настройте передачу логов из rsyslog в VictoriaLogs через локально установленный vlagent.

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

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

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

  • 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 в конфигурации подситсемы мониторинга измените значение ключа remote_components.log_agent.tls_ca_file.

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

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

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

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

    Здесь <monitoring> — IP-адрес или доменное имя узла управления мониторингом.