Обновление до версии 1.5
Подготовка к обновлению
При обновлении Визиона будут перегенерированы файлы конфигурации всех компонентов Визиона (Сервер, Прокси, Агенты), поэтому необходимо осуществить резервное копирование файлов конфигурации, которые могу располагаться в следующих директориях.
Для версии 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, РЕД ОС:
-
/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.
Все ранее вручную настроенные параметры в файлах конфигурации (например, grafana.ini, config.yml, nginx.conf и прочие) необходимо заново внести.
При изменении конфигурационных файлов перезапустите затронутые сервисы.
Восстановление конфигурации дашбордов
Восстановите конфигурацию дашбордов, следуя инструкции.
Дополнительные действия после обновления до новой версии 1.4.0 и ниже
Закройте служебную БД на loopback
Рекомендуется после завершения всех работ закрыть доступ к служебной базе данных Визион.Сервера со сторонних узлов. Для этого в конце файла конфигурации postgresql.conf замените строку:
listen_addresses = '*'
на
listen_addresses = '127.0.0.1'
Путь к файлу записит от используемого дистрибутива Linux:
-
ALT Linux, РЕД ОС:
/var/lib/pgsql/data/postgresql.conf. -
Astra Linux:
/etc/postgresql/11/main/postgresql.conf.
Перезапустите PostgreSQL:
systemctl restart postgresql.service