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
имеет значение “RAW”
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. и 1.2.*)*#
Только в случае обновления версий 1.1.* и 1.2.* до новой необходимо удалить существующие ПАКи в интерфейсе Визиона.
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
и прочие) необходимо заново внести.
При изменении конфигурационных файлов перезапустите затронутые сервисы.
3.7. Удалите дашборды Grafana#
Инструкция по удалению дашбордов.
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