Инструкция по миграции с Glaber 3.4 / 3.5 на 3.6
Общая информация
Данная инструкция описывает обновление Glaber с версий 3.4 или 3.5 на 3.6.
| Исходная версия | Суть миграции |
|---|---|
| 3.5 → 3.6 | Смена репозитория и обновление пакетов. Пути (/etc/glaber, /usr/share/glaber) и имена сервисов (glaber-server) уже совпадают с 3.6 |
| 3.4 → 3.6 | Сначала привести именование и пути к виду 3.5 (zabbix → glaber), затем обновить пакеты до 3.6. Можно сделать за один простой, либо в два этапа |
[!NOTE] Если вы ещё на 3.4 и хотите разнести риски, сначала выполните миграцию 3.4 → 3.5, проверьте работу системы, затем продолжите по сценарию 3.5 → 3.6 ниже.
Основные изменения в версии 3.6
Имена и пути
- Имена пакетов и бинарников: префикс
glaber(как в 3.5) - Конфигурация:
/etc/glaber/, фронтенд:/usr/share/glaber - Логи и данные:
/var/log/glaber,/var/lib/glaber - systemd:
glaber-server,glaber-proxy,glaber-agent(при наличии)
По сравнению с 3.5 переименование путей не требуется. По сравнению с 3.4 — требуется (см. сценарий B).
База данных (PostgreSQL / MySQL)
- При первом запуске glaber-server 3.6 сам применяет недостающие патчи схемы (в логе — сообщения об upgrade /
dbpatches) - Резервная копия конфигурационной БД перед обновлением настоятельно рекомендуется
- Откат пакетов на 3.5 без восстановления дампа БД может быть небезопасен, если сервер уже успел применить новые патчи
- История в ClickHouse при типичной схеме совместима; отдельная миграция истории обычно не нужна
Веб-интерфейс
- Списки Problems (текущие / история) и Items (узел / шаблон) переведены на Vue (
CglbTable): серверная пагинация, фильтры в панели и в заголовках колонок, выбор колонок, компактные строки, избранные фильтры - Для больших списков полезен APCu (кэш упорядоченных id между страницами); без APCu UI работает, но без этого ускорения
- После обновления пакетов фронтенда рекомендуется жёсткое обновление страницы в браузере (Ctrl+F5), чтобы сбросить кэш старых JS/CSS
Сервер и конфигурация
- Параметр
ValueCacheSizeустарел: выделенной shmem value cache больше нет (в логе при старте может быть предупреждение). Дамп/восстановление value cache (ValueCacheDumpLocation/ValueCacheDumpFrequency) по-прежнему используется - Упрощена обработка LLD (менеджер LLD убран / упрощён пайплайн)
- В пакетах nginx для Glaber увеличены
fastcgi_buffers— при ручной конфигурации nginx имеет смысл сверить с примером из пакетаglaber-nginx-conf - Поддержка PHP 7.4+; на PHP 8.4 / 8.5 учтены совместимости в актуальных сборках 3.6
Прокси и агенты
- Прокси Glaber обновляйте вместе с сервером (или сразу после) на ту же линейку 3.6
- Агенты Zabbix / Glaber обычно совместимы; пакет
glaber-agentпри необходимости обновляется из того же репозитория 3.6
Подготовка к миграции
1. Резервные копии
# Конфигурационная БД PostgreSQL (РЕКОМЕНДУЕТСЯ)
sudo -u postgres pg_dump glaber > /tmp/glaber_backup_pre36.sql
# Для MySQL/MariaDB:
# mysqldump -u<db_user> -p -E --single-transaction glaber > /tmp/glaber_backup_pre36.sql
# Конфигурационные файлы (ОБЯЗАТЕЛЬНО)
# 3.5 / уже glaber-пути:
tar -czf /tmp/glaber_config_backup_pre36.tar.gz /etc/glaber /etc/nginx/conf.d/glaber* 2>/dev/null
# 3.4 / ещё zabbix-пути:
# tar -czf /tmp/glaber_config_backup_pre36.tar.gz /etc/zabbix /etc/nginx/sites-available/zabbix /etc/nginx/conf.d/zabbix* 2>/dev/null
# Логи (опционально)
tar -czf /tmp/glaber_logs_backup_pre36.tar.gz /var/log/glaber /var/log/zabbix 2>/dev/null
Подробнее о бэкапах: Бэкап и восстановление.
2. Зафиксируйте текущие версии
# 3.5+
glaber_server -V 2>/dev/null || true
systemctl status glaber-server --no-pager | head -5
# 3.4 (старые имена)
zabbix_server -V 2>/dev/null || true
dpkg -l 'glaber-*' 'zabbix-server*' 2>/dev/null | grep -E '^ii'
3. Остановка сервисов
Перед сменой пакетов остановите сбор:
# 3.5 / 3.6-имена
systemctl stop glaber-server
systemctl stop glaber-proxy 2>/dev/null || true
# 3.4
# systemctl stop zabbix-server
# systemctl stop zabbix-proxy 2>/dev/null || true
Фронтенд (nginx / php-fpm) можно не останавливать на время смены только server-пакета, но при обновлении glaber-frontend-php и nginx-конфига удобнее остановить и их на короткое окно.
Сценарий A: миграция с Glaber 3.5 на 3.6
1. Переключение репозитория на 3.6
Подставьте дистрибутив (примеры):
Astra Linux 1.8
wget -qO - https://glaber.io/repo/key/repo.gpg | gpg --dearmor -o /usr/share/keyrings/glaber-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/glaber-archive-keyring.gpg] https://glaber.io/repo/3.6/deb/astra-1.8 astra-1.8 main" \
> /etc/apt/sources.list.d/glaber.list
apt update
Astra Linux 1.7
wget -qO - https://glaber.io/repo/key/repo.gpg | gpg --dearmor -o /usr/share/keyrings/glaber-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/glaber-archive-keyring.gpg] https://glaber.io/repo/3.6/deb/astra-1.7 astra-1.7 main" \
> /etc/apt/sources.list.d/glaber.list
apt update
Ubuntu 22.04 (jammy) — путь репозитория вида https://glaber.io/repo/3.6/deb/ubuntu-22.04 ...; актуальный URL для вашей ОС см. на https://glaber.io/repo и в репозиториях.
[!NOTE] Если раньше в
glaber.listбыл.../repo/3.5/..., достаточно заменить3.5на3.6и выполнитьapt update.
2. Обновление пакетов
apt install --only-upgrade glaber-server-pgsql glaber-frontend-php glaber-nginx-conf
# при наличии прокси / агента из пакетов Glaber:
apt install --only-upgrade glaber-proxy-pgsql 2>/dev/null || true
apt install --only-upgrade glaber-agent 2>/dev/null || true
Для MySQL-сборки используйте соответствующие имена пакетов (glaber-server-mysql, glaber-proxy-mysql).
Закрытый контур (без доступа к репозиторию):
cd /path/to/downloaded/packages/
dpkg -i glaber-server-pgsql_*.deb
dpkg -i glaber-frontend-php_*.deb
dpkg -i glaber-nginx-conf_*.deb
apt-get install -f
3. Конфигурация сервера
Файлы остаются в /etc/glaber/. Сверьте, что сохранены:
- доступ к БД (
DBHost,DBName,DBUser,DBPassword) - модуль истории ClickHouse (
HistoryModule=...), если используется AllowUnsupportedDBVersions=1— при необходимости (как в инструкциях установки на Astra)
Устаревший ValueCacheSize можно оставить (будет предупреждение в логе) или закомментировать. Параметры дампа value cache оставьте, если ими пользовались:
# ValueCacheSize=... # устарел в 3.6, можно удалить
ValueCacheDumpLocation=/var/vcdump/
ValueCacheDumpFrequency=300
Права (если каталоги создавали вручную):
chown -R glaber:glaber /var/log/glaber /var/lib/glaber /etc/glaber
4. Nginx и PHP
Если пакет glaber-nginx-conf обновил пример конфига, сравните с вашим /etc/nginx/conf.d/glaber.conf:
root /usr/share/glaber;fastcgi_param SCRIPT_FILENAME /usr/share/glaber$fastcgi_script_name;- актуальный сокет PHP-FPM (
unix:/run/php/php8.2-fpm.sockи т.п. — ваша версия) - желательно
fastcgi_buffers 4 256k;(или больше), чтобы большие JSON ответов списков не упирались в буферы
nginx -t && systemctl reload nginx
systemctl restart php8.2-fpm # подставьте свою версию PHP
Рекомендуемые значения в php.ini (FPM) не ниже типичных для Glaber:
memory_limit = 512M
post_max_size = 64M
max_execution_time = 300
upload_max_filesize = 32M
max_input_time = 300
Опционально для производительности списков Vue:
apt install php-apcu # или php8.2-apcu — по версии PHP
systemctl restart php8.2-fpm
5. Фронтенд
Проверьте симлинк конфигурации (имя файла на разных установках может быть zabbix.conf.php или glaber.conf.php):
ls -la /usr/share/glaber/conf/
ls -la /etc/glaber/web/
Должен быть рабочий PHP-конфиг с корректными $DB[...]. Прямой доступ фронтенда к ClickHouse ($HISTORY_SOURCES) при наличии — сохраните из старого файла.
6. Запуск и контроль upgrade БД
systemctl start postgresql # или mysqld / mariadb
systemctl start glaber-server
systemctl status glaber-server
tail -f /var/log/glaber/glaber_server.log
В логе дождитесь успешного старта и (при наличии) завершения DB upgrade. Затем:
systemctl start glaber-proxy 2>/dev/null || true
systemctl enable glaber-server
7. Проверка веб-интерфейса
Откройте UI, выполните Ctrl+F5. Проверьте:
- вход и основные дашборды
- Monitoring → Problems (текущие и история) — Vue-таблица, фильтры, пагинация
- Items на узле/шаблоне
- графики / latest data / историю из ClickHouse
glaber_server -V
sudo -u glaber psql glaber -c "SELECT COUNT(*) FROM hosts;"
Сценарий B: миграция с Glaber 3.4 на 3.6
На 3.4 типичны пути /etc/zabbix, /usr/share/zabbix и unit zabbix-server, даже если пакеты назывались glaber-*.
Рекомендуемый путь (два этапа)
- Выполните миграцию 3.4 → 3.5 (переименование путей, установка пакетов 3.5, перенос конфигов)
- Убедитесь, что сервер и UI работают на 3.5
- Выполните сценарий A (3.5 → 3.6)
Совмещённый путь (один простой)
Имеет смысл только если вы уверенно переносите конфиги. Кратко:
- Бэкапы (см. выше)
systemctl stop zabbix-server(и proxy при наличии)- Сохранить конфиги из
/etc/zabbix/во временный каталог - Удалить старые пакеты / очистить
/etc/zabbix,/usr/share/zabbix(как в инструкции 3.4→3.5) - Подключить репозиторий 3.6 и установить
glaber-server-pgsql,glaber-frontend-php,glaber-nginx-conf - Перенести конфиг сервера в
/etc/glaber/glaber_server.conf, веб — в/etc/glaber/web/, заменить путиzabbix→glaber(sedкак в migration_34_to_35.md) - Настроить nginx на
root /usr/share/glaber - Запустить
glaber-server, дождаться DB upgrade, проверить UI
Детали переноса конфигов и симлинков — в миграции 3.4 → 3.5, шаги «Сохранение и миграция конфигурационных файлов» и «Обновление конфигурации nginx».
ClickHouse
Отдельная миграция схемы ClickHouse для перехода 3.4/3.5 → 3.6 обычно не требуется.
Если история/тренды создавались очень давно по устаревшему schema.sql, сверьте актуальный файл:
Известный пример донастройки (если колонки ещё нет):
-- только если у вас старая таблица history_log без timestamp
ALTER TABLE glaber.history_log ADD COLUMN timestamp UInt64 DEFAULT 0;
После смены пакетов убедитесь, что в glaber_server.conf модуль истории указывает на тот же URL/учётные данные ClickHouse.
Возможные проблемы и решения
glaber-server не стартует / ошибка версии БД
journalctl -u glaber-server -n 100 --no-pager
tail -n 200 /var/log/glaber/glaber_server.log
glaber_server -t
- Проверьте доступ к PostgreSQL/MySQL и права пользователя БД
- При жёсткой проверке версии СУБД:
AllowUnsupportedDBVersions=1в/etc/glaber/glaber_server.conf - Не прерывайте процесс, пока в логе идёт применение dbpatches
Веб-интерфейс пустой / старый JS / ошибки Vue
- Ctrl+F5 или очистка кэша браузера
- Проверьте, что пакет
glaber-frontend-phpобновился и есть/usr/share/glaber/dist/vue-app.js(или актуальный бандл из пакета) nginx -t, статус php-fpm, права на/etc/glaber/web/
Списки Problems/Items тормозят или отдают 502/504
- Увеличьте
memory_limitPHP иfastcgi_buffers/ таймауты nginx - Установите APCu
- Уменьшите
search_limitв настройках UI при очень больших выборках
Прокси не отдаёт данные
- Обновите прокси до 3.6
- Проверьте шифрование и таймауты server↔proxy
- Сверьте время (NTP) на сервере и прокси
Предупреждение про ValueCacheSize
Информационное: параметр можно удалить из конфига. На работу 3.6 не влияет.
Откат
Если сервер 3.6 ещё не применял патчи БД (сразу после установки, до успешного старта)
Можно вернуть пакеты 3.5 и прежний glaber.list с .../repo/3.5/..., восстановить конфиги из /tmp/glaber_config_backup_pre36.tar.gz.
Если 3.6 уже отработал DB upgrade
- Остановите
glaber-server - Восстановите дамп БД
/tmp/glaber_backup_pre36.sql - Верните пакеты и репозиторий 3.5 (или 3.4 — по вашей исходной версии)
- Восстановите конфиги из архива
- Запустите сервисы прежней версии
Для 3.4 откат путей — по разделу «Откат миграции» в migration_34_to_35.md.
Краткий чеклист
- [ ] Бэкап конфигурационной БД и
/etc/glaber(или/etc/zabbixна 3.4) - [ ] Репозиторий переключён на
https://glaber.io/repo/3.6/... - [ ] Обновлены server, frontend, nginx-conf (и proxy/agent при использовании)
- [ ] Конфиг БД и ClickHouse на месте; пути без
zabbix(для бывших 3.4) - [ ]
glaber-serverстартовал, в логе нет ошибок upgrade - [ ] UI открывается, Vue-списки Problems/Items работают после Ctrl+F5
- [ ] Прокси на 3.6, данные с узлов поступают
- [ ] Пользователи уведомлены об изменениях в интерфейсе списков
Заключение
Миграция 3.5 → 3.6 — в основном обновление пакетов и проверка UI/прокси. Миграция 3.4 → 3.6 дополнительно требует перевода путей и имён с zabbix на glaber (как при переходе на 3.5).
Успешным считается состояние, когда сервисы запущены, веб-интерфейс доступен, конфигурация и история на месте, а сбор метрик продолжается в штатном режиме.