Я уже рассказывал о том, как выполняется установки сервера Zabbix в редиме минимальной достаточности. Теперь я опишу процесс обновления сервера Zabbix. Обновление будет выполняться в пределах версии 6 – с 6.2.9 до 6.4.9.
Описание окружения
ОС сервера Zabbix – Ubuntu 22.04.3 LTS.
Текущая версия сервера Zabbix – 6.2.9.
Сервер баз данных – PostgreSQL. Версия PostgreSQL – PostgreSQL 14.9.
Веб сервер – nginx. Версия nginx – nginx/1.18.0.
HA не испольузется. Все компоненты установлены на одном сервере.
Предварительная подготовка
Проверка предварительных требований будет осуществлять в соответствии с опорным чек-листом для версии 6.4.0.
Поскольку у в моем случае использовался сервер БД PostgreSQL и прокси серверов в инфраструктуре не было, то действий из чек-листа по ссылке выше мне выполнять не нужно. Но будьте внимательны – в вашем случае, например, при использовании БД MySQL необходимо будет выполнить дополнительные шаги.
Следующим щагом я рекомендую ознакомиться с предварительынми требованими для Zabbix 6.4.0. Особенно уделите внимание версиям пакетов. Возможно, что вам что-то нужно будет предварительно обновить.
Настоятельно рекомендую выполнить полное резеврное копирование сервера Zabbix любым доступным сервером. Я выполнял резервное копирование ВМ Proxmox встроенными средствами гипервизора.
Теперь остановим сервис Zabbix сервера:
systemctl stop zabbix-server
Дополнительно я создам копии конфигурационных файлов и бинарных файлов сервера Zabbix:
mkdir /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/zabbix/nginx.conf /opt/zabbix-backup/
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
cp -R /usr/share/zabbix-* /opt/zabbix-backup/
Дополнительно я создам резервную копию файла репозитория Zabbix:
cp /etc/apt/sources.list.d/zabbix.list /opt/zabbix-backup
С предварительной подготовкой я все завершил. Далее будем выполнять непосредственное обновление сервера Zabbix.
Обновление сервера Zabbix
Развернутая информация по процедуре обновления приведена вот тут. Я буду использовать информацию из руководства в контексте сервера Ubuntu 22.04.
Процедура обновления следующая:
1. Сначала удаляем файл репозитория:
rm -Rf /etc/apt/sources.list.d/zabbix.list
2. Устанавливаем новый файл репозитория:
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
Также соглашаемся с обновлением файла репозитория:
3. Актуализируем список пакетов в репозитории:
apt update
4. Обновляем бинарники компонентов сервера Zabbix:
apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent
Если вы используете сервер БД MySQL, то для компонента БД укажите соответствующее название пакета – zabbix-server-mysql. Также в вашем случает может быть установлен агента zabbix-agent2. В таком случае тоже нужно будет скорректировать название пакета.
5. В процессе обновления может появиться запрос – что делать с текущим конфигурационным файлом сервера Zabbix. Обычно я перезаписываю его новым файлом, а затем синхронизую изменения из старого конфигурационного файла, резервную копию которого мы делали на шаге предварительной подготовки.
Почему я перезаписываю файл? Возможны ситуации, когда будут добавлены/удалены какие-то новые комментари, параметры или изменены рекомендуемые значения по умолчанию для параметров. Например:
Вобщем, сугубо моё личное мнение и опыт, но вы можете сохранить предыдущий конфигурационный файл.
6. Если вы перезаписывали файл, то верните ваши изменения, которые были утеряны при перезаписи файла. Я обычно использую Visual Studio Code.
7. Сохраните внесенные изменения в конфигурационный файл сервера Zabbix.
8. Пробуем запустить сервер Zabbix:
systemctl start zabbix-server
9. Проверяем статус сервиса сервера Zabbix:
systemctl status zabbix-server
10. Теперь попробуем подключиться к веб интерфейсе сервера Zabbix:
Обновление сервера Zabbix завершено.
Что-то пошло не так
Такое тоже может быть. В таком случае я рекомендовал бы выполнить анализ системного журнала для сервиса zabbix:
journalctl -ru zabbix-server
Дополнительные (скорее даже основным) источником информации о диагностике может быть журнал сервера Zabbix:
less /var/log/zabbix/zabbix_server.log
Скорее всего в этих двух источниках выше вы найдете сообщения об ошибке. А далее уже обращаемся к поисковым системам или профильным формумам Zabbix для понимает того, из-за чего такая ошибка может возникать и что с этим можно сделать.