На узле Визион.Сервера приведите содержимое конфигурационного файла /opt/skala-r/etc/vision/server/victorialogs/environment.env к следующему виду:
-syslog.listenAddr.tcp=:29514
-syslog.tls=1
-syslog.tlsCertFile=/opt/skala-r/vision/cert/components_default.crt
-syslog.tlsKeyFile=/opt/skala-r/vision/cert/components_default.key
-syslog.tlsMinVersion=TLS12
-syslog.tlsCipherSuites 'TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256'
-syslog.tlsCipherSuites 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
-syslog.tlsCipherSuites 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'
Настройка узлов#
Ниже описан порядок действий для настройки rsyslog и LogWatcher для ПАК МХД.О. Для остальных ПАК допускается ручная настройка rsyslog.
В состав дистрибутива входит директория rsyslog_config/, которая содержит плейбуки настройки узлов для сбора и отправки логов в VictoriaLogs для ПАК МХД.О.
Плейбук deploy.yml#
Этот плейбук используется для установки и настройки rsyslog. Он изменяет параметры rsyslog и устанавливает компонент LogWatcher для работы с ZST-логами.
Выполнение настроек происходит в несколько этапов:
-
Проверка наличия пакетов
rsyslogиrsyslog-gnutls.-
При отсутствии пакетов плейбук попытается установить их из репозиториев ОС.
-
Если репозиторий недоступен, или необходимых пакетов в нём нет, выполнение плейбука остановится. В этом случае установите пакеты
rsyslogиrsyslog-gnutlsвручную.
-
-
Проверка версии
rsyslog.Версия пакета должна быть не ниже значения, которое указано в переменной
rsyslog_min_version(по умолчанию 8.1901). Если версия пакета ниже указанной, выполнение плейбука остановится.В этом случае обновите
rsyslogвручную. -
Проверка конфигурационного файла
/etc/rsyslog.confна наличие директивы подключения конфигураций из директории/etc/rsyslog.d/*.conf.Если директива отсутствует, выполнение плейбука остановится. В этом случае вручную добавьте в конфигурационный файл
/etc/rsyslog.confстроку:include(file="/etc/rsyslog.d/*.conf" mode="optional") -
Проверка конфигурационного файла
/etc/rsyslog.d/30-vision-vlogs.confс помощью команды:rsyslogd -N1 -f /etc/rsyslog.d/<...>.confПри неудачной проверке выполнение плейбука остановится. В этом случае убедитесь:
-
в наличии модулей
imfile,imjournalи прочих; -
в корректности синтаксиса шаблонов
.conf.j2в директорииrsyslog_config/roles/rsyslog/templates/.
Для отключения проверки в файле
rsyslog_config/roles/rsyslog/tasks/deploy.ymlзакомментируйте строку с ключомvalidate. -
Плейбук remove.yml#
Этот плейбук используется для удаления rsyslog.
Формирования инвентори-файла#
Для использования плейбуков требуется инвентори-файл.
-
Сформируйте инвентори-файл, следуя инструкции .
-
Убедитесь, что в секции
victorialogsв значении поляhostуказан IP-адрес Визион.Сервера. -
Удалите или закомментируйте описания узлов, на которых не требуется настраивать rsyslog.
Запуск плейбуков#
Когда инвентори-файл будет сформирован и заполнен, приступайте к запуску плейбуков:
-
Перейдите в директорию дистрибутива.
-
Запустите соответствующий плейбук:
-
Установка и настройка rsyslog
ansible-playbook -i /path/to/inventory.yml ./rsyslog_config/deploy.yml -
Удаление rsyslog
ansible-playbook -i /path/to/inventory.yml ./rsyslog_config/remove.yml
Вместо
/path/to/inventory.ymlукажите путь к заполненному инвентори-файлу. -
Удаление инвентори-файла#
После успешного выполнения плейбука удалите инвентори-файл. Это позволит избежать компрометации учётных данных, позволяющих подключаться к узлам и выполнять команды с повышенными привилегиями.
Настройка rsyslog для отправки логов через vlagent#
Для работы мониторинга логов необходимо настроить конфигурацию rsyslog для отправки логов в локальный vlagent.
Фрагмент архитектурной схемы в разрезе потока логов с узла до хранилища логов VictoriaLogs:
Дистрибутив предоставляет следующие компоненты, реализующие сбор логов и формирование оповещений на их основе:
-
VictoriaLogs — база данных для хранения логов.
Также возможно использование внешнего кластера VictoriaLogs.
-
VLagent — сбор логов на узле.
-
LogWatcher — распаковка сжатых логов в формате
.zst.
В качестве коллектора логов используется rsyslog. На целевых системах должны присутствовать следующие пакеты:
-
rsyslogверсии 8.1901 или выше; -
rsyslog-gnutls; -
rsyslog-journal(только в ALT Linux).
В данной инструкции описано конфигурирование rsyslog для отправки в локально установленный vlagent.
-
В интерфейсе Визион выберите раздел menu:Объекты[].
-
На панели Контур выберите ПАК.
-
Выберите вкладку Агенты логов.
-
Нажмите кнопку Сконфигурировать агенты.
-
Выберите расположение Прокси и узлы, на которые необходимо установить агенты логов.
-
Нажмите кнопку Сохранить.
-
На узлах сконфигурируйте 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. -
Укажите параметры работы с TLS.
vlagent по умолчанию работает с MTLS и TLS 1.3.
Для корректной работы MTLS укажите пути к файлам сертификата и ключа клиента.
Для корректной работы TLS 1.3 укажите пути к файлам сертификата и ключа клиента, а также значение параметра
gnutlsPriorityString.Корневой сертификат для vlagent настраивается в конфигурационном файле Визион
config.ymlв секцииremote_components.log_agent.tls_ca_file. -
Проверьте корректность новой конфигурации:
rsyslogd -N1 -
При отсутствии ошибок перезапустите rsyslog для применения изменений:
systemctl restart rsyslog -
Проверьте поступление логов в VictoriaLogs:
https://<vision_ip>/vision/victorialogs/select/vmuiЗдесь
<vision_ip>— IP-адрес сервера Визион. -
В случае отсутствия логов в хранилище проверьте журналы компонентов на наличие ошибок.