Фрагмент архитектурной схемы в разрезе потока логов с узла до хранилища логов VictoriaLogs
Дистрибутив предоставляет следующие компоненты реализующие сбор логов и оповещения на их основе:
- VictoriaLogs - база данных для хранения логов;
- VLagent - компонент сбора логов на узле;
- LogWatcher - компонент, обеспечивающий распаковку сжатых логов .zst формата.
В качестве коллектора логов используется rsyslog. На целевых системах должны присутствовать следующие пакеты:
- rsyslog (версии 8.1901 или выше)
- rsyslog-gnutls
- rsyslog-journal (только Altlinux)
В данной инструкции описано конфигурирование rsyslog для отправки в локально установленный vlagent.
-
В интерфейсе Визион выберите раздел Объекты.
-
Выберите ПАК.
-
Выберите вкладку Агенты логов:
-
Нажмите кнопку Конфигурировать агенты.
-
Выберите расположение Прокси и узлы, на которые необходимо установить агенты логов.
-
Нажмите кнопку Сохранить.
-
На узлах сконфигурируйте 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 } -
Выполните дополнительные настройки:
- шаблоны имен файлов для сбора логов по примеру
File="/path/to/logs/*.log"; - каждый шаблон оформите в виде отдельного
input; - настройте действия для отправки логов локально по
tcpсtlsна порт 29515;
vlagent по умолчанию работает с
mtlsиtls1.3, поэтому необходимо обязательно указывать файлы сертификата и ключа клиента, а такжеgnutlsPriorityStringдля работы rsyslog поtls1.3;корневой сертификат для vlagent настраивается в конфигурации Визиона в секции
remote_components.log_agent.tls_ca_file. - шаблоны имен файлов для сбора логов по примеру
-
После настройки проверьте корректность записанной конфигурации:
rsyslogd -N1 -
При отсутствии ошибок перезапустите rsyslog для применения изменений:
systemctl restart rsyslog -
Проверьте поступление логов в VictoriaLogs:
https://<vision_ip>/vision/victorialogs/select/vmuiГде
<vision_ip>— IP-адрес сервера Визион. -
В случае отсутствия логов в хранилище проверьте логи компонентов на наличие ошибок:
journalctl -fu rsyslog tail -f /opt/skala-r/var/log/vision/agent/vlagent_agent/vlagent.log tail -f /opt/skala-r/var/log/vision/proxy/vlagent_proxy/vlagent.log