Инструкция по обновлению Визиона до версии 1.7

Обновление до версии 1.7 поддерживается с версий 1.5.2 и 1.6. Если версия Визиона меньше указанных, необходимо произвести сначала обновление по соответствующей инструкции.

Обновление производится с сохранением текущей конфигурации, но потребуется ручная донастройка и ручное обновление удаленных компонентов.

Обновление пакетов postgresql описано в дополнительной документации .

Обновление Визиона предусматривает:

  1. бэкап конфигурации;
  2. обновление компонентов Визиона;
  3. копирование эталонной конфигурации;
  4. обновление файлов конфигурации nginx(старые файлы конфигурации будут перезаписаны);
  5. сохранение пользовательской конфигурации(за исключением конфигурации nginx);
  6. добавление в файл конфигурации vision_core новых полей со стандартными значениями;
  7. добавление новых ключей со стандартными значениями в vault.

Обновление Визиона не предусматривает полное обновление конфигурации и удаленных компонентов(плагины и агенты).

Подготовка к обновлению#

Сохранение конфигураций#

Обязательно перед обновлением необходимо сохранить следующие конфигурации:

  1. параметры интеграций со сторонними системами. Например, если vmagent_proxy был настроен на отправку метрик в сторонний Prometheus;
  2. любые ручные изменения, которые вносились в файлы конфигурации компонентов Визиона.

Деинсталляция предыдущих версий компонентов#

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

  1. в интерфейсе Визиона в разделе “Объекты” необходимо выбрать ПАК;
  2. деинсталлировать все элементы во вкладке “Агенты”;
  3. деинсталлировать все элементы во вкладке “Плагины”;

Чтобы убедиться, что все элементы деинсталлированы успешно, необходимо проверить, что статус каждого элемента во вкладках “Агенты” и “Плагины” — “Не установлен”;

После выполнения обновления необходимо повторно провести установку во вкладках “Агенты” и “Плагины”.

Обновление#

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

  1. запустить установку пакетов зависимостей командой ./setup.sh -p из директории дистрибутива (или альтернативно ./setup.sh -g для установки пакетов зависимостей из репозитория OC)
  2. запустить установку сервера Визиона командой ./setup.sh -u (пункт 8 “Обновление сервера Визиона” в меню выбора).

Начнется процесс обновления.

Перед обновлением будет создан бэкап конфигурации сервера Визиона, куда будут входить:

  • содержимое хранилища секретов .secrets_vault;
  • конфигурация Nginx;
  • конфигурационные файлы postgresql.conf, pg_hba.conf для postgresql
  • файлы конфигурации из директории /opt/skala-r/etc/vision/server.

Перед обновлением будет осуществлена проверка установленных пакетов. Если есть неустановленные зависимости, то обновление будет прервано.

  1. после успешного обновления необходимо запустить скрипт ./setup.sh и выбрать опцию “Проверка работы сервисов”. Критерием корректности развертывания является значение “active” для всех сервисов, которые приведенны в таблице в выводе работы скрипта;
  2. в веб-интерфейсе Визиона в разделе “Настройки” в пункте “О программе” необходимо убедиться, что указана необходимая версия Визиона.
  3. установить плагент:
  • необходимо сформировать инвентори-файл для нужного ПАК во вкладке “Объекты”.
  • запустить скрипт ./setup.sh из директории дистрибутива и выбрать опцию “Установка plagent”;
  • выбрать сформированный инвентори-файл. При необходимости отредактировать его, указав значения ключей ansible_user, ansible_ssh_pass, ansible_become_password для доступа к узлам по SSH.

Доконфигурирование параметров Визиона#

После обновления необходимо проверить конфигурацию Визиона и внести необходимые изменения. Если компонент отсутствовал в ранее установленной версии, в результате обновления Визиона он будет установлен с базовой конфигурацией.

Не рекомендуется просто копировать конфигурации из директории /opt/skala-r/vision/server/default, так как в этом случае будут перезаписаны пользовательские изменения.

C помощью представленных в таблице команд или иным способом сравнить текущую конфигурацию и эталонную. При наличии новых ключей, фрагментов и файлов произвести добавление соответствующих ключей, фрагментов и файлов в действующую конфигурацию.

Для файла /opt/skala-r/etc/vision/server/vision_core/config.yml производится запись новых ключей с базовыми значениями при работе скрипта /opt/skala-r/vision/tools/update_server_configs.sh во время процедуры обновления, несмотря на это, рекомендуется произвести контрольную сверку файлов конфигурации

После внесения изменений в конфигурацию необходимо запустить скрипт из дистрибутива /opt/skala-r/vision/tools/update_server_configs.sh и перезапустить сервисы nginx и postgresql, если для них менялись конфигурации.

Для того, чтобы сверить конфигурации можно использовать команду diff -ry -W 200 --left-column где, -W 200 - вывод не более Н знаков в строке (по умолчанию 130), --left-column - вывод только левой колонки общих строк

Путь к конфигурационным файлам Путь к эталонным файлам конфигурации Команда для просмотра изменений
/etc/nginx/nginx.conf, /etc/nginx/sites-available.d/, /etc/nginx/snippets/ /opt/skala-r/vision/server/default/nginx/nginx.conf, /opt/skala-r/vision/server/default/nginx/sites-available.d/, /opt/skala-r/vision/server/default/nginx/snippets diff -ry /opt/skala-r/vision/server/default/nginx /etc/nginx/, diff -ry /opt/skala-r/vision/server/default/nginx/nginx.conf /etc/nginx/nginx.conf, diff -ry /opt/skala-r/vision/server/default/nginx/sites-available.d/ /etc/nginx/sites-available.d/, diff -ry /opt/skala-r/vision/server/default/nginx/snippets/ /etc/nginx/snippets/
/opt/skala-r/etc/vision/server/alertmanager /opt/skala-r/vision/server/default/server/alertmanager diff -ry /opt/skala-r/etc/vision/server/alertmanager /opt/skala-r/vision/server/default/server/alertmanager
/opt/skala-r/etc/vision/server/grafana /opt/skala-r/vision/server/default/server/grafana diff -ry /opt/skala-r/etc/vision/server/grafana /opt/skala-r/vision/server/default/server/grafana
/opt/skala-r/etc/vision/server/snmp_notifier /opt/skala-r/vision/server/default/server/snmp_notifier diff -ry /opt/skala-r/etc/vision/server/snmp_notifier /opt/skala-r/vision/server/default/server/snmp_notifier
/opt/skala-r/etc/vision/server/victorialogs/ /opt/skala-r/vision/server/default/server/victorialogs/ diff -ry /opt/skala-r/etc/vision/server/victorialogs /opt/skala-r/vision/server/default/server/victorialogs
/opt/skala-r/etc/vision/server/victoriametrics_st /opt/skala-r/vision/server/default/server/victoriametrics_st diff -ry /opt/skala-r/etc/vision/server/victoriametrics_st /opt/skala-r/vision/server/default/server/victoriametrics_st
/opt/skala-r/etc/vision/server/vision_alertcollector /opt/skala-r/vision/server/default/server/vision_alertcollector diff -ry /opt/skala-r/etc/vision/server/vision_alertcollector /opt/skala-r/vision/server/default/server/vision_alertcollector
/opt/skala-r/etc/vision/server/vision_backup /opt/skala-r/vision/server/default/server/vision_backup diff -ry /opt/skala-r/etc/vision/server/vision_backup /opt/skala-r/vision/server/default/server/vision_backup
/opt/skala-r/etc/vision/server/vision_core /opt/skala-r/vision/server/default/server/vision_core diff -ry /opt/skala-r/etc/vision/server/vision_core /opt/skala-r/vision/server/default/server/vision_core
/opt/skala-r/etc/vision/server/vision_iamsyncer /opt/skala-r/vision/server/default/server/vision_iamsyncer diff -ry /opt/skala-r/etc/vision/server/vision_iamsyncer /opt/skala-r/vision/server/default/server/vision_iamsyncer
/opt/skala-r/etc/vision/server/vision_taskdaemon /opt/skala-r/vision/server/default/server/vision_taskdaemon diff -ry /opt/skala-r/etc/vision/server/vision_taskdaemon /opt/skala-r/vision/server/default/server/vision_taskdaemon
/opt/skala-r/etc/vision/server/vision_utilizer /opt/skala-r/vision/server/default/server/vision_utilizer diff -ry /opt/skala-r/etc/vision/server/vision_utilizer /opt/skala-r/vision/server/default/server/vision_utilizer
/opt/skala-r/etc/vision/server/vmalert_st /opt/skala-r/vision/server/default/server/vmalert_st diff -ry /opt/skala-r/etc/vision/server/vmalert_st /opt/skala-r/vision/server/default/server/vmalert_st
/opt/skala-r/etc/vision/server/vmalert_vl /opt/skala-r/vision/server/default/server/vmalert_vl diff -ry /opt/skala-r/etc/vision/server/vmalert_vl /opt/skala-r/vision/server/default/server/vmalert_vl
для redos(postgres 12) /var/lib/pgsql/data: /var/lib/pgsql/data/postgresql.conf ,/var/lib/pgsql/data/pg_hba.conf для redos(postgres 16) /var/lib/pgsql/16/data: /var/lib/pgsql/16/data/postgresql.conf,/var/lib/pgsql/16/data/pg_hba.conf для alt linux /var/lib/pgsql/data: /var/lib/pgsql/data/postgresql.conf, /var/lib/pgsql/data/pg_hba.conf для astra linux /etc/postgresql/11/main/: /etc/postgresql/11/main/postgresql.conf, /etc/postgresql/11/main/pg_hba.conf /opt/skala-r/vision/server/default/postgresql/<postgres_version>, /opt/skala-r/vision/server/default/postgresql/<postgres_version>/postgresql.conf, /opt/skala-r/vision/server/default/postgresql/<postgres_version>/pg_hba.conf diff -ry /opt/skala-r/vision/server/default/postgresql/<postgres_version> /var/lib/pgsql/data, diff -ry <путь до конф. файлов в ОС>/postgresql.conf /opt/skala-r/vision/server/default/postgresql/<postgres_version>/postgresql.conf, diff -ry <путь до конф. файлов в ОС>/pg_hba.conf /opt/skala-r/vision/server/default/postgresql/<postgres_version>/pg_hba.conf

После сверки файлов конфигурации необходимо проверить следующие параметры:

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

SMTP-шлюз: в интерфейсе Визиона в разделе “Настройки SMTP”. SNMP-шлюз: через API как указано в п. 9 Руководства Администратора Визион Все параметры, которые настраивались до обновления вручную необходимо донастроить(например, config.yml, .secrets_vault и прочие)

  1. конфигурация nginx — если она изменялась вручную, необходимо сконфигурировать заново.

При изменении конфигурационных файлов необходимо перезапустить затронутые сервисы и запустите скрипт /opt/skala-r/vision/tools/update_server_configs.sh.

  1. при необходимости перенастроить ролевую модель согласно РА.