Инструкция по обновлению Monq до версии 8.2.0
Предыдущая версия Monq: 8.1.1
В обновлении:
Продукт | Новая версия |
---|---|
pl | 8.2.0 |
sm | 8.2.0 |
cl | 8.2.0 |
fm | 8.2.0 |
plugins | 8.2.0 |
mcs | 8.2.0 |
Уровень простоя
Без простоя
Проведение миграции 8.1.1 -> 8.2.0
Требования
Для запуска обновления требуется скачать клиент управления Monq monqctl и выполнить конфигурацию контекста monqctl, если ранее этого не выполнялось.
Минимальная версия monqctl: 1.13.0
Токен доступа в Monq ReleaseHub для скачивания обновления можно взять из письма о регистрации лицензии или получить, обратившись в техническую поддержку Monq.
Выполнить предрелизную подготовку
-
Проверить контекст monqctl и статус реестра микросервисов
# Просмотреть текущий контекст, с которым работает monqctl
monqctl config current-context
# Просмотреть статус реестра микросервисов из контекста
monqctl registry get status
# Просмотреть статус сервисов в реестре микросервисов из контекста
monqctl registry get services -
Установить контекст релиза, с которым будет работать
monqctl
в рамках контекста установленного MonqКоманда при этом скачивает и подготавливает релиз для установки.
monqctl release use-version 8.2.0 --product=monq
# Требуется выполнить экспорт релиза в папку
monqctl release version export 8.2.0 --product=monq --dest=<export directory>
# Выполнить команду `use-version` с аргументом `--sourceDir`.
monqctl release use-version 8.2.0 --product=monq --sourceDir=<папка с экспортированным обновлением>
MONQ Platform (pl)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=pl
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=pl --microservice=pl-i18n-service --file pl-i18n-service.sql
monqctl release update db clickhouse --module=pl --microservice=pl-bp-service --file sqls/pl-bp-service-clickhouse.sql
monqctl release update db pgsql --module=pl --microservice=pl-bp-service --file sqls/pl-bp-service.sql
monqctl release update db pgsql --module=pl --microservice=pl-agents-service --file sqls/pl-agents-service.sql
monqctl release update db clickhouse --module=pl --microservice=pl-agents-service --file sqls/pl-agents-service-clickhouse.sql
monqctl release update db pgsql --module=pl --microservice=pl-identity-service --file sqls/pl-identity-service.sql
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=pl
Обновить существующие и установить новые библиотеки автоматона
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.core.import
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.cl.import
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.cmdb.import
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.metrics.import
При ошибке HTTP 500 и сообщении в теле ответа "Operation timeout exception" повторить команды. Такая ошибка может возникнуть, если микросервис "pl-automaton-v2-service " не успел перезапуститься после обновления контейнера.
Запустить мигратор
monqctl release update migrator --module=pl --command="migrate automaton"
Перезапустить микросервисы автоматон v2
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-runner
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-compiler
Применить новую маршрутизацию
monqctl release update routing --module=pl
Сбросить кэш для микросервисов
monqctl instance clear cache --microservice=pl-i18n-service
monqctl instance clear cache --microservice=pl-identity-service
Выполнить удаление устаревших ключей маршрутизации
monqctl instance delete queue-binding --queue=pl_agents_service --bindingKey=cl.stream.update
monqctl instance delete queue-binding --queue=pl_agents_service --bindingKey=cl.stream.delete
monqctl instance delete queue-binding --queue=pl_agents_service --bindingKey=pl.agent-task.command.owner.update
monqctl instance delete queue-binding --queue=pl_agents_service_buffer --bindingKey=pl.agent-task.event.new
monqctl instance delete queue-binding --queue=pl_router_service --bindingKey=cl.stream.status-change
MONQ Service Monitor (sm)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=sm
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=sm --microservice=sm-rsm-maps-service --file sqls/sm-rsm-maps-service.sql
monqctl release update db pgsql --module=sm --microservice=sm-signals-service --file sqls/sm-signals-service.sql
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=sm
MONQ Collector (cl)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=cl
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=cl --microservice=cl-streams-service --file sqls/cl-streams-service.sql
monqctl release update db pgsql --module=cl --microservice=pl-userspaces-api-service --file userspace-configuration.sql
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=cl
Запустить мигратор
monqctl release update migrator --module=cl --command="migrate stream-agent-tasks"
Применить новую маршрутизацию
monqctl release update routing --module=cl
Выполнить удаление устаревших ключей маршрутизации
monqctl instance delete queue-binding --queue=cl_streams_service_watchdog --bindingKey=cl.stream.command.update-status
monqctl instance delete queue-binding --queue=cl_streams_service_watchdog --bindingKey=pl.agent-task.event.new
Test Forge (fm)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=fm
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=fm
Запустить мигратор
monqctl release update migrator --module=fm --command="migrate project-agent-tasks"
MONQ Metrics (mcs)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=mcs
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=mcs --microservice=mcs-thresholds-service --file sqls/mcs-thresholds-service.sql
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=mcs
PLUGINS (plugins)
Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=plugins
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update microservices --module=plugins
Agent plugins + content packs
Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes
monqctl release update agent-plugins --module=plugins --plugin=postgresqlPlugin
monqctl instance restart microservice --microservice=pl-monq-agent
Проверить лог запуска системного агента. Вначале лога должны быть загружены все нужные плагины.
Выполнить загрузку контент-паков
monqctl release update content-packs --module=plugins --replace --file=content-packs/zabbix.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/nagios.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/prometheus.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/vcenter.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/scom.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/email.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/telegram.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/k8s.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/ms-teams.zip