sudo docker exec -u postgres postgres psql -d alertix -c "DELETE FROM resources r1 USING resources r2 WHERE r1.id < r2.id AND (lower(r1.domain) = lower(r2.domain) or lower(r1.username) = lower(r2.username))"Обновление Alertix
| При обновлении Платформы с версии 3.4 и более ранних необходимо предварительно обновить Платформу до версии 3.5, потом до 3.8.0. |
| При обновлении Платформы до версии 3.7.0 перед обновлением управляемых хостов необходимо предварительно обновить core-кластер. |
| При обновлении Платформы до версии 3.8.0 удалите WEC ресивер и установите заново. |
Перед обновлением Alertix на версию 3.8 необходимо:
1. Удалить дубликаты ресурсов по домену (поле "domain") и имени пользователя (поле "username") из инвентаризационной информации:
2. Обновить пакеты и ядро ОС, после чего перезагрузиться:
sudo apt update -y && sudo apt upgrade -y
sudo reboot3. Установить дополнительный системный пакет postgresql-client:
sudo apt install postgresql-client4. Настроить хосты для работы с Java
Для работы с Java необходимо установить утилиту Jlink. Данный инструмент предназначен для сборки и оптимизации модулей, а также их зависимостей в пользовательском образе среды выполнения. Jlink позволяет сформировать минимальный комплект компонентов Java, удаляя ненужные модули, документацию и отладочные файлы, создавая компактный дистрибутив.
Используйте команду:
jlink --verbose --add-modules ALL-MODULE-PATH --compress 2 --strip-debug --no-header-files --no-man-pages --output /usr/lib/jvm/java-jlinkВ результате по пути /usr/lib/jvm/java-jlink будет сформирован набор компонентов для работы Java.
Для корректного монтирования Java в контейнеры необходимо создать ссылку:
ln -nfs /usr/lib/jvm/java-jlink /usr/lib/jvm/jdkЭта ссылка будет использоваться контейнерами, обеспечивающими работу Платформы. Передача ссылки в контейнер осуществляется с помощью томов. Том в Docker представляет собой файловую систему, существующую вне контейнера, и может быть подключен к одному или нескольким контейнерам. По умолчанию приложения в Docker-контейнерах являются stateless. Это означает, что приложение не оставляет данных после своей работы. Поэтому в Docker предусмотрены различные методы для хранения данных. Bind mount реализует следующий принцип работы: файл с данными хранится на хосте и открывается внутри контейнера.
Устранение ошибок
При выполнении команд может возникнуть ошибка:
Error: java.io.IOException: Cannot run program "objcopy": error=2, No such file or directoryДанная ошибка указывает на отсутствие утилиты objcopy. Установите ее с помощью следующих команд:
Для DEB подобных систем:
apt -y install binutilsДля RPM подобных систем:
yum install binutilsПодробнее о программе objcopy
5. Установить Java на хост
Для установки Java используются два типа пакетов: DEB и RPM.
Проверка версии Java
Перед установкой необходимо проверить, наличие Java версии 21. Для этого выполните следующую команду:
which java
echo $?Если команда echo $? возвращает 0, значит Java уже установлена. Узнать текущую версию можно с помощью команды:
java --versionПример вывода:
openjdk 11.0.24 2024-07-16
OpenJDK Runtime Environment (build 11.0.24+8-post-Ubuntu-1ubuntu322.04)
OpenJDK 64-Bit Server VM (build 11.0.24+8-post-Ubuntu-1ubuntu322.04, mixed mode, sharing)Если версия Java не соответствует требуемой (например, установлена Java 11 вместо Java 21), необходимо удалить существующую версию и установить нужную.
Установка для DEB подобных систем
Выполните команду:
apt update
apt -y install openjdk-21-jdk-headlessСоздаем ссылку с помощью Jlink:
jlink --verbose --add-modules ALL-MODULE-PATH --compress 2 --strip-debug --no-header-files --no-man-pages --output /usr/lib/jvm/java-jlink
ln -nfs /usr/lib/jvm/java-jlink /usr/lib/jvm/jdkУстановка для RPM подобных систем
Выполните команду:
dnf check-update
dnf install -y java-21-openjdk-headless java-21-openjdk-devel java-21-openjdk-jmodsСоздаем ссылку с помощью Jlink:
jlink --verbose --add-modules ALL-MODULE-PATH --compress 2 --strip-debug --no-header-files --no-man-pages --output /usr/lib/jvm/java-jlink
ln -nfs /usr/lib/jvm/java-jlink /usr/lib/jvm/jdkДля обновления платформы Alertix необходимо выполнить следующие действия:
1. Выполнить команду и дождаться завершения процесса обновления:
sudo dpkg -i alertix_<version>.deb
sudo apt -f installХод выполнения скриптов обновления сохраняется в операционной системе по стандартному пути /var/log/apt/term.log. При необходимости, можно дополнительно сохранить вывод в отдельный локальный файл, например
sudo dpkg -i alertix_<version>.deb | tee -a alertix.log2. Перейти в веб-интерфейс Платформы.
3. На вкладке "Обслуживание" перейти в раздел "Кластеры". Выбрать core-кластер и нажать кнопку "Обновить кластер" для обновления подключенного к Платформе core-кластера.
Если при обновлении была допущена ошибка, перейдите на страницу Обслуживание > Мониторинг, выберите core-кластер и нажмите кнопку "Devtools". На открывшейся странице выполните команду:
DELETE *-stream4. На вкладке "Обслуживание" перейти в раздел "Управление хостами". Нажать кнопку
для обновления подключенного к Платформе хоста.
5. На вкладке "Обслуживание" перейти в раздел "Обновление ПО". На странице отображается список установленных компонентов, адрес узла кластера, установленная версия и перечень доступных версий для обновления. Автоматически будут обновлены компоненты agents, backend, frontend, database. Для отдельных компонентов (сервисов, ресиверов), которые требуется обновить, необходимо нажать кнопку
"Обновление до выбранной версии", выбрать версию и нажать "Установить".


| После того, как основные компоненты backend, frontend будут обновлены до версии 3.7.0 Платформа позволяет продолжить использование предыдущих версий отдельных компонентов. |
Для настройки подключения к репозиторию нажмите кнопку "Репозиторий". Заполните поля URL, логин, пароль и нажмите "Сохранить". Если синхронизация уже была настроена ранее, поля будут предзаполнены.
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.