Обновление Визион до версии 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, 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):

  1. Выберите необходимый ПАК, нажав ⠇, пункт “Инвентори”. Файл-инвентори скачается и так же будет доступен в директории /opt/skala-r/vision/server/inventory/.

  2. Укажите в инвентори-файле актуальные данные для доступа к узлам по SSH.

  3. Выполните команду:

    ansible-playbook -i /path/to/inventory.yml ./playbooks/agent_delete.yml
    

Версия до обновления 1.2 и выше#

Деинсталлируйте все Агенты и Плагины всех ПАК в интерфейсе Визиона.

  1. В интерфейсе Визиона в разделе Объекты выберите ПАК.
  2. Деинсталлируйте все Агенты и Прокси во вкладке Агенты. Дождитесь статуса Не установлен всех элементов.
  3. Убедитесь, что во во вкладке Плагины были деинсталлированы все элементы. Если нет, деинсталлируйте их.
  4. После выполнения обновления проведите установку повторно во вкладках Агенты и Плагины.

Обновление до новой версии 1.4 и выше#

Процедура обновления Визион.Сервера#

В случае установки новой версии 1.4.0 и ниже необходимо выполнить команду:

rm -rf /opt/skala-r/vision/server/vision_venv

Для обновления Визиона установкой поверх старой версии выполните следующее:

  1. Запустите скрипт ./setup.sh из директории дистрибутива.

  2. Выберите опцию “Установить пакеты зависимостей из репозитория дистрибутива” или “Установить пакеты зависимостей из репозитория OC”. Дождитесь окончания установки пакетов.

  3. Запустите скрипт ./setup.sh из директории дистрибутива.

  4. Выберите опцию Установить Сервер Визиона.

  5. Выберите из списка или укажите IP адрес Сервера Визиона в подсети, которая предназначена для отправки данных в Визион с других узлов.

  6. После успешной установки запустите скрипт ./check_service.sh из директории /opt/skala-r/vision.

    Критерием корректности развертывания является значение “active” для всех сервисов, приведенных в таблице в выводе скрипта.

  7. В веб-интерфейсе Визиона в разделе Настройки в пункте О программе убедитесь, что указана необходимая версия Визиона.

Решение известных проблем после обновления до новой версии 1.4.0 и выше#

Ошибка при запуске setup.sh во время импорта метрик.#

Проблема: При запуске setup.sh во время выполнения установки Визион.Сервера отображается текст ошибки “Произошла ошибка импорта метрик!”.

  1. Убедитесь, что vision_core запущен и работает с помощью запуска скрипта ./check_service.sh из директории /opt/skala-r/vision.

  2. Вручную на ВМ Визиона выполните следующую команду для импорта метрик.

    curl -kX POST \
         -F "file=@./metrics/main.yml" \
         "https://127.0.0.1:8088/vision/api/v1/data_import/?pak_type=all"
    
  3. Изучите полученный ответ.

    • Если в ответе присутствует запись об ошибке авторизации, необходимо отключить авторизацию. Для этого обратитесь к руководству Администратора.

    • Если в ответе присутствует запись об ошибке неуникальности метрик, необходимо удалить все метрики, которые в поле metric_src_type имеют значение VSN. Обратите внимание, что связанные с этими метриками правила оповещения потеряют условия их выполнения.

      Для этого на ВМ Визиона:

      1. Подключитесь к БД:

        psql -U postgres -d vision_db
        
      2. Выполните запрос:

        DELETE FROM metric WHERE metric_src_type = 'RAW';
        
  4. После устранения неисправности повторно запустите 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 и ниже)#

В веб-интерфейсе Визиона добавьте необходимые ПАК:

  1. Во вновь добавленном ПАК имена объектов (ПАК, Модулей, Серверов, ВМ, Коммутаторов) должны быть такими же как и в предыдущей версии.

  2. При добавлении ПАК необходимо добавить объект (сервер или ВМ) который будет использован в качестве Прокси, IP адрес этого объекта указать таким же как и в версии 1.1.1, либо назначить другой.

  3. Выгрузите инвентори-файл вновь добавленного ПАК.

Установите/обновите агент Платформы#

Установите plagent:

  1. Отредактируйте выгруженный инвентори-файл, указав значения ключей ansible_user, ansible_ssh_pass, ansible_become_password для доступа к узлам по SSH или используйте существующий инвентори-файл (убедитесь в его актуальности).

  2. Из директории с дистрибутивом Визиона версии 1.5 запустите команду:

    ansible-playbook -i /opt/skala-r/vision/server/inventory/<inventory>.yml ./plagent/install.yml
    

Настройте параметры агентов и плагинов для нового ПАК (при версии до обновления 1.2 и ниже)#

  1. В интерфейсе Визиона в разделе Объекты выберите ПАК.

  2. Перейдите во вкладку Агенты и нажмите кнопку Сконфигурировать агенты.

  3. В поле Расположение Визион.Прокси укажите ВМ Визиона.

  4. Для всех серверов и виртуальных машин выберите необходимые плагины и нажмите кнопку Сохранить. Обратитесь к Руководству Администратора при необходимости донастройки параметров плагинов.

Восстановите параметры Визиона#

При необходимости после обновления восстановите следующие параметры Визиона.

Параметры шлюзов для отправки уведомлений о срабатывании правил оповещения:

  • 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.