1. Подготовка к обновлению#
При обновлении Визиона будут перегенерированы файлы конфигурации всех компонентов Визиона (Сервер, Прокси, Агенты), поэтому необходимо осуществить резервное копирование файлов конфигурации, которые могут располагаться в следующих директориях.
Для версии 1.2 и ниже
- /opt/skala-r/vision/agent/<имя-компонента>/etc
- /opt/skala-r/vision/proxy/<имя-компонента>/etc
- /opt/skala-r/vision/server/<имя-компонента>/etc
Для версии 1.3 и выше
- /opt/skala-r/etc
Для всех версий
- /etc/nginx
- Altlinux, RedOS:
- /var/lib/pgsql/data/postgresql.conf
- /var/lib/pgsql/data/pg_hba.conf
- Astra:
- /etc/postgresql/11/main/postgresql.conf
- /etc/postgresql/11/main/pg_hba.conf
Важно перед обновлением убедиться, что следующие данные присутствуют для восстановления, если они необходимы:
- Банковский сертификат для
Nginx
. - Параметры интеграций со сторонними системами. Например,
vmagent_proxy
может быть настроен на отправку метрик в стороннийPrometheus
. - Параметры авторизации стороннего провайдера OAuth.
- Параметры почтового шлюза SMTP.
- Параметры отправки SNMP-трапов.
- Другие ручные изменения выполненные в файлах конфигурации Визиона.
При обновлении с версии 1.2 и ниже для создания ПАКа в интерфейсе Визиона будут необходимы следующие данные:
- Имена объектов: ПАК, модули, сервера, виртуальные машины, коммутаторы согласно инсталляционным картам
- Учетные записи для авторизации экспортеров в сторонних сервисах в зависимости от типа ПАК могут быть необходимы для
- доступа к BMC по IPMI (все типы ПАКов, если допустимо)
- инстансов кластера Postgresql (МБД.П)
- OpenNebula (МВ.ВК)
- Базис СУПВ (МВ.С/ВРМ)
- Учетные записи для отправки уведомлений о срабатывании правил оповещения для SMTP и SNMP шлюзов (по необходимости).
Загрузите архив с дистрибутивом новой версии Визиона на узел Визион.Сервера и распакуйте его командой tar -xzf <имя архива>
.
2. Удаление предыдущих версий компонентов#
2.1. Версия до обновления 1.2 и ниже#
С помощью дистрибутива предыдущей версии и инвентори файла для него деинсталлируйте все Агенты и Прокси с узлов
- Удаление Агентов: из директории с дистрибутивом выполнить команду
ansible-playbook -i /<путь-до-инвентори-файла>.yml agent_remove.yml
. - Удаление Прокси: из директории с дистрибутивом выполнить команду
ansible-playbook -i /<путь-до-инвентори-файла>.yml proxy_remove.yml
.
При недоступности дистрибутива предыдущей версии используйте плейбук playbooks/agent_delete.yml
дистрибутива новой версии Визиона (1.3 и выше). Для этого после обновления Визиона и создания ПАКа (3.1, 3.2, 3.3), но до установки Агентов и Плагинов (3.4, 3.5, 3.6):
- Выберите необходимый ПАК, нажав ⠇, пункт “Инвентори”. Файл-инвентори скачается и так же будет доступен в директории
/opt/skala-r/vision/server/inventory/
. - Укажите в инвентори файле актуальные данные для доступа к узлам по SSH.
- Выполните команду
ansible-playbook -i /<путь-до-инвентори-файла>.yml ./playbooks/agent_delete.yml
из директории дистрибутива.
2.2. Версия до обновления 1.3 и выше#
Деинсталлируйте все Агенты и Плагины всех ПАКов в интерфейсе Визиона.
- В интерфейсе Визиона в разделе “Объекты” выберите ПАК.
- Деинсталлируйте все Агенты и Прокси во вкладке “Агенты”. Дождитесь статуса “Не установлен” всех элементов.
- Убедитесь, что во во вкладке “Плагины” были деинсталлированы все элементы. Если нет, деинсталлируйте их.
- После выполнения обновления (п.3.1) проведите установку повторно во вкладках “Агенты” и “Плагины”.
3. Обновление до новой версии 1.4 и выше#
3.1. Процедура обновления Визион.Сервера#
В случае установки новой версии 1.4.0 и ниже необходимо выполнить команду rm -rf /opt/skala-r/vision/server/vision_venv
Для обновления Визиона установкой поверх старой версии выполните следующее:
- Запустите скрипт
./setup.sh
из директории дистрибутива. - Выберите опцию “Установить пакеты зависимостей из репозитория дистрибутива” или “Установить пакеты зависимостей из репозитория OC”.
- Дождитесь окончания установки пакетов.
- Запустите скрипт
./setup.sh
из директории дистрибутива. - Выберите опцию “Установить Сервер Визиона”.
- Выберите из списка или укажите IP адрес Сервера Визиона в подсети, которая предназначена для отправки данных в Визион с других узлов.
- После успешной установки запустите скрипт
./check_service.sh
из директории/opt/skala-r/vision
. Критерием корректности развертывания является значениеactive
для всех сервисов, приведенных в таблице в выводе скрипта. В веб-интерфейсе Визиона в разделе “Настройки” в пункте “О программе” убедитесь, что указана необходимая версия Визиона.
3.1.1. Решение известных проблем после обновления до новой версии 1.4.0 и выше#
3.1.1.1. Ошибка при запуске setup.sh во время импорта метрик.#
Проблема: При запуске setup.sh во время выполнения установки Визион.Сервера отображается текст ошибки “Произошла ошибка импорта метрик!”.
-
Убедитесь, что vision_core запущен и работает с помощью запуска скрипта
./check_service.sh
из директории/opt/skala-r/vision
. -
Вручную на ВМ Визиона выполните следующую команду для импорта метрик.
curl -kX POST -F "file=@./metrics/main.yml" "https://127.0.0.1:8088/vision/api/v1/data_import/?pak_type=all"
2.1. Если вы в json теле ответа видите ошибку авторизации, необходимо отключить авторизацию, обратитесь к руководству администратора.
2.2. Если вы в json теле ответа видите ошибку неуникальности метрик, необходимо удалить все метрики, которые в поле metric_src_type имеют значение VSN. Обратите внимание, что связанные с этими метриками правила оповещения потеряют условия их выполнения.
Для этого на ВМ Визиона выполните
psql -U postgres -d vision_db
и удалите из служебной БД Визиона все метрики, где поле metric_src_type имеет значение VSN
DELETE FROM metric WHERE metric_src_type = 'RAW';
- После устранения неисправности повторно запустите
setup.sh
и выполните установку Визион.Сервера.
3.1.1.2. Службы vision_core и vision_taskdaemon не запустились.#
Проблема: При запуске скрипта ./check_service.sh
из директории /opt/skala-r/vision
сервисы vision_core
и vision_taskdaemon
имеют статус failed
, а в логах присутствует ошибка Permission denied
.
Проверьте, что директории /opt/skala-r/var
и /opt/skala-r/var/log
принадлежат root и имеют права 755 и установите целевые права:
chmod 755 \
/opt/skala-r/var \
/opt/skala-r/var/log
systemctl restart vision_core vision_taskdaemon
systemctl status vision_core vision_taskdaemon
Если в логах присутствуют ошибки доступа к другим директориям, исправьте согласно примеру выше.
3.1.1.3. Не запускаются сервисы systemd Визион.Прокси или Визион.Агент#
Уточните причины невозможности запуска компонента в логах компонента. Описание расположения логов компонентов уточняйте в документе Компоненты Визиона: файлы конфигурации, описание параметров .
Вероятной причиной данной проблемы при обновлении является попытка вызова управляющих воздействий (установка, деинсталляция) плагинов из интерфейса Визиона со старой версией Агента Платформы, что приводит к неверным назначениям прав на директории. Перед устранением проблем убедитесь, что вы обновили Агент Платформы на всех узлах ПАКов.
Убедитесь, что общие директории продуктов skala-r имеют права 755 (rwxr-xr-x
).
/opt/skala-r
/opt/skala-r/etc
/opt/skala-r/var
/opt/skala-r/var/log
Убедитесь, что директории компонентов Визиона имеют права 755 (rwxr-xr-x
) и принадлежат пользователю и группе vision
, включая все внутренние директории.
/opt/skala-r/vision/*
/opt/skala-r/etc/vision/*
/opt/skala-r/var/log/vision/*
Права на файлы компонентов Визион.Прокси и Визион.Агент
- создаваемые Агентом Платформы
- файлы конфигурации
/opt/skala-r/etc/vision/<agent|proxy>/<service>/*.<env|yml|...>
- vision 400 (r-------
). - бинарные файлы
/opt/skala-r/vision/<agent|proxy>/<service>/*
- vision 500 (r-x------
) - сервисы systemd
/etc/systemd/system/vision_*.service
- 644 (rw-r--r--
).
- файлы конфигурации
- логи аудита компонентов
/opt/skala-r/var/log/vision/audit/<component>/<service>/audit.log
- 600 (rw------
).
3.2. Удалите старый ПАК (при версиях до обновления 1.1.x и 1.2.x)#
Только в случае обновления версий 1.1.x и 1.2.x до новой необходимо удалить существующие ПАКи в интерфейсе Визиона.
3.3. Добавить ПАК (при версии до обновления 1.2 и ниже)#
В веб-интерфейсе Визиона добавьте необходимые ПАКи
- Во вновь добавленном ПАК имена объектов (ПАК, Модулей, Серверов, ВМ, Коммутаторов) должны быть такими же как и в предыдущей версии.
- При добавлении ПАК добавить объект (сервер или ВМ) который будет использован в качестве Прокси, IP адрес этого объекта указать таким же как и в версии 1.1.1, либо назначить другой
- Выгрузить инвентори файл вновь добавленного ПАК
3.4. Установите/обновите агент Платформы#
Установить Плагент:
- Отредактируйте выгруженный инвентори файл, указав значения ключей ansible_user, ansible_ssh_pass, ansible_become_password для доступа к узлам по SSH или используйте существующий инвентори файл (убедитесь в его актуальности).
- Из директории с дистрибутивом Визиона версии 1.3 запустите команду
ansible-playbook -i /opt/skala-r/vision/server/inventory/<название_инвентори_файла>.yml ./plagent/install.yml
.
3.5. Настройка параметров агентов и плагинов для нового ПАКа (при версии до обновления 1.2 и ниже)#
- В интерфейсе Визиона в разделе “Объекты” выберите ПАК.
- Перейдите во вкладку “Агенты” и нажмите кнопку “Сконфигурировать агенты”.
- В поле “Расположение Визион.Прокси” укажите ВМ Визиона.
- Для всех серверов и виртуальных машин выберите необходимые плагины и нажмите кнопку “Сохранить”. Обратитесь к Руководству Администратора при необходимости донастройки параметров плагинов.
3.6. Восстановите параметры Визиона#
При необходимости после обновления восстановите следующие параметры Визиона.
Параметры шлюзов для отправки уведомлений о срабатывании правил оповещения
- SMTP-шлюз: в интерфейсе Визиона в разделе “Настройки SMTP”.
- SNMP-шлюз: через API как указано в п. 9 Руководства Администратора Визион
Все ранее вручную настроенные параметры в файлах конфигурации (например, grafana.ini, config.yml, nginx.conf
и прочие) необходимости заново внести.
При изменении конфигурационных файлов перезапустите затронутые сервисы.
4. Дополнительные действия после обновления до новой версии 1.4.0 и ниже#
4.1. Закрыть служебную БД на loopback#
Рекомендуется после завершения всех работ закрыть доступ к служебной базе данных Визион.Сервера со сторонних узлов. Для этого в конце файла конфигурации postgresql.conf замените listen_addresses = ‘*’ на listen_addresses = ‘127.0.0.1’. Пути до файла отличаются в зависимости от ОС:
- Altlinux, RedOS: /var/lib/pgsql/data/postgresql.conf
- Astra: /etc/postgresql/11/main/postgresql.conf
Перезапустите PostgreSQL командой systemctl restart postgresql.service
4.2. Проверить пользователя ОС vision#
Проверьте, что пользователь ОС vision
в /etc/passwd
имеет следующие параметры и измените при необходимости
- Домашний каталог:
/dev/null
- Команда для входа (shell):
/sbin/nologin