Подготовка к обновлению#
При обновлении Визиона будут перегенерированы файлы конфигурации всех компонентов Визиона (Сервер, Прокси, Агенты), поэтому необходимо осуществить резервное копирование файлов конфигурации, которые могу располагаться в следующих директориях.
Для версии 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
Alt Linux, RedOS:
/var/lib/pgsql/data/postgresql.conf/var/lib/pgsql/data/pg_hba.conf
Astra Linux:
/etc/postgresql/11/main/postgresql.conf/etc/postgresql/11/main/pg_hba.conf
Важно перед обновлением убедиться, что следующие данные присутствуют для восстановления, если они необходимы:
- TLS-сертификат для NGINX.
- Параметры интеграций со сторонними системами. Например, vmagent_proxy может быть настроен на отправку метрик в сторонний Prometheus.
- Параметры авторизации стороннего провайдера OAuth.
- Параметры почтового шлюза SMTP.
- Параметры отправки SNMP-трапов.
- Другие ручные изменения выполненные в файлах конфигурации Визиона.
При обновлении с версии 1.1.1 и ниже для создания ПАК в интерфейсе Визиона будут необходимы следующий данные:
-
Имена объектов: ПАК, модули, сервера, виртуальные машины, коммутаторы согласно инсталляционным картам
-
Учетные записи для авторизации экспортеров в сторонних сервисах в зависимости от типа ПАК могут быть необходимы для:
- доступа к BMC по IPMI (все типы ПАК, если допустимо);
- инстансов кластера Postgresql (МБД.П);
- OpenNebula (МВ.ВК);
- БАЗИС.vControl (МВ.С/ВРМ).
-
Учетные записи для отправки уведомлений о срабатывании правил оповещения для SMTP и SNMP шлюзов (по необходимости).
Загрузите архив с дистрибутивом новой версии Визиона на узел Визион.Сервера и распакуйте его:
tar -xzf <имя архива>
Удаление предыдущих версий компонентов#
Версия до обновления 1.1.1 и ниже#
С помощью дистрибутива предыдущей версии и инвентори-файла для него деинсталлируйте все Агенты и Прокси с узлов. Для этого в директории с дистрибутивом выполните команды:
-
Удаление Агентов:
ansible-playbook -i /path/to/inventory.yml agent_remove.yml -
Удаление Прокси:
ansible-playbook -i /path/to/inventory.yml proxy_remove.yml
При недоступности дистрибутива предыдущей версии используйте плейбук playbooks/agent_delete.yml дистрибутива новой версии Визиона (1.2 и выше). Для этого после обновления Визиона и создания ПАК (3.1, 3.2, 3.3), но до установки Агентов и Плагинов (3.4, 3.5, 3.6):
-
Выберите необходимый ПАК, нажав ⠇, пункт “Инвентори”. Файл-инвентори скачается и так же будет доступен в директории
/opt/skala-r/vision/server/inventory/. -
Укажите в инвентори-файле актуальные данные для доступа к узлам по SSH.
-
Выполните команду:
ansible-playbook -i /path/to/inventory.yml ./playbooks/agent_delete.yml
Версия до обновления 1.2 и выше#
Деинсталлируйте все Агенты и Плагины всех ПАК в интерфейсе Визиона.
- В интерфейсе Визиона в разделе Объекты выберите ПАК.
- Деинсталлируйте все Агенты и Прокси во вкладке Агенты. Дождитесь статуса Не установлен всех элементов.
- Убедитесь, что во во вкладке Плагины были деинсталлированы все элементы. Если нет, деинсталлируйте их.
- После выполнения обновления проведите установку повторно во вкладках Агенты и Плагины.
Обновление до новой версии 1.4 и выше#
Процедура обновления Визион.Сервера#
В случае установки новой версии 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” для всех сервисов, приведенных в таблице в выводе скрипта.
-
В веб-интерфейсе Визиона в разделе Настройки в пункте О программе убедитесь, что указана необходимая версия Визиона.
Решение известных проблем после обновления до новой версии 1.4.0 и выше#
Ошибка при запуске 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" -
Изучите полученный ответ.
-
Если в ответе присутствует запись об ошибке авторизации, необходимо отключить авторизацию. Для этого обратитесь к руководству Администратора.
-
Если в ответе присутствует запись об ошибке неуникальности метрик, необходимо удалить все метрики, которые в поле
metric_src_typeимеют значение VSN. Обратите внимание, что связанные с этими метриками правила оповещения потеряют условия их выполнения.Для этого на ВМ Визиона:
-
Подключитесь к БД:
psql -U postgres -d vision_db -
Выполните запрос:
DELETE FROM metric WHERE metric_src_type = 'RAW';
-
-
-
После устранения неисправности повторно запустите
setup.shи выполните установку Визион.Сервера.
Службы 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
Если в логах присутствуют ошибки доступа к другим директориям, исправьте согласно примеру выше.
Не запускаются сервисы 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——).
Удалите старый ПАК (при версях до обновления 1.1.*)#
Только в случае обновления версий 1.1.* до новой необходимо удалить существующие ПАК в интерфейсе Визиона.
Добавьте ПАК (при версии до обновления 1.1.1 и ниже)#
В веб-интерфейсе Визиона добавьте необходимые ПАК:
-
Во вновь добавленном ПАК имена объектов (ПАК, Модулей, Серверов, ВМ, Коммутаторов) должны быть такими же как и в предыдущей версии.
-
При добавлении ПАК необходимо добавить объект (сервер или ВМ) который будет использован в качестве Прокси, IP адрес этого объекта указать таким же как и в версии 1.1.1, либо назначить другой.
-
Выгрузите инвентори-файл вновь добавленного ПАК.
Установите/обновите агент Платформы#
Установите plagent:
-
Отредактируйте выгруженный инвентори-файл, указав значения ключей
ansible_user,ansible_ssh_pass,ansible_become_passwordдля доступа к узлам по SSH или используйте существующий инвентори-файл (убедитесь в его актуальности). -
Из директории с дистрибутивом Визиона версии 1.5 запустите команду:
ansible-playbook -i /opt/skala-r/vision/server/inventory/<inventory>.yml ./plagent/install.yml
Настройте параметры агентов и плагинов для нового ПАК (при версии до обновления 1.2 и ниже)#
-
В интерфейсе Визиона в разделе Объекты выберите ПАК.
-
Перейдите во вкладку Агенты и нажмите кнопку Сконфигурировать агенты.
-
В поле Расположение Визион.Прокси укажите ВМ Визиона.
-
Для всех серверов и виртуальных машин выберите необходимые плагины и нажмите кнопку Сохранить. Обратитесь к Руководству Администратора при необходимости донастройки параметров плагинов.
Восстановите параметры Визиона#
При необходимости после обновления восстановите следующие параметры Визиона.
Параметры шлюзов для отправки уведомлений о срабатывании правил оповещения:
-
SMTP-шлюз: в интерфейсе Визиона в разделе Настройки SMTP.
-
SNMP-шлюз: через API как указано в п. 9 Руководства Администратора Визион.
Все ранее вручную настроенные параметры в файлах конфигурации (например, grafana.ini, config.yml, nginx.conf и прочие) необходимо заново внести.
При изменении конфигурационных файлов перезапустите затронутые сервисы.
Удалите дашборды Grafana#
Инструкция по удалению дашбордов.
Дополнительные действия после обновления до новой версии 1.4.0 и ниже#
Закройте служебную БД на loopback#
Рекомендуется после завершения всех работ закрыть доступ к служебной базе данных Визион.Сервера со сторонних узлов. Для этого в конце файла конфигурации postgresql.conf замените строку:
listen_addresses = '*'
на
listen_addresses = '127.0.0.1'
Путь к файлу записит от используемого дистрибутива Linux:
- ALT Linux, RedOS:
/var/lib/pgsql/data/postgresql.conf. - Astra Linux:
/etc/postgresql/11/main/postgresql.conf.
Перезапустите PostgreSQL:
systemctl restart postgresql.service
Проверьте пользователя ОС vision#
Проверьте, что пользователь ОС vision в /etc/passwd имеет следующие параметры и измените при необходимости:
-
Домашний каталог:
/dev/null. -
Оболочка для входа (shell):
/sbin/nologin.