Обновление Zabbix

Обновление Zabbix#

Обновление Zabbix необходимо выполнить только на серверах мониторинга.

Для обновления Zabbix c 5.0.7 до 6.0.7 следует:

  1. Создать резервные копии конфигурационных файлов Zabbix, последовательно выполнив команды:

mkdir /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/apache2/conf-enabled/zabbix-frontend-php.conf /opt/zabbix-backup/
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
cp -R /usr/share/zabbix-* /opt/zabbix-backup/
  1. Установить обновленные пакеты Zabbix:

apt install --only-upgrade zabbix-server-pgsql zabbix-frontend-php
zabbix-agent

Для обновления базы данных Zabbix следует:

  1. Остановить службу севера Zabbix:

systemctl stop zabbix-server
  1. В конфигурационный файл /etc/zabbix/zabbix_server.conf добавить параметр AllowUnsupportedDBVersions=1.

  2. Если требуется сохранить текущие таблицы с историей, то переименовать их, выполнив команду:

zcat /usr/share/zabbix-server-pgsql/history_pk_prepare.sql.gz | psql -h
localhost zabbix
  1. Проверить в /etc/zabbix/zabbix_server.conf логин и пароль для подключения к базе данных Zabbix (параметры DBUser и DBPassword).

  2. Запустить службу сервера Zabbix:

systemctl start zabbix-server

Будет выполнено обновление базы данных Zabbix. Проверить статус обновления можно командой:

cat /var/log/zabbix-server/zabbix_server.log | grep database

Пример вывода команды:

82263:20230627:235018.484 current database version (mandatory/optional):
05000000/05000002
82263:20230627:235018.484 starting automatic database upgrade
82263:20230627:235018.487 completed 0% of database upgrade
...
...
...
82263:20230627:235023.532 completed 97% of database upgrade
82263:20230627:235023.535 completed 98% of database upgrade
82263:20230627:235023.537 completed 99% of database upgrade
82263:20230627:235023.542 completed 100% of database upgrade
82263:20230627:235023.542 database upgrade fully completed
  1. Если требуется восстановить таблицы с историей, следует:

    • остановить службу севера Zabbix:

      systemctl stop zabbix-server
      
    • подключиться к серверу PostgreSQL:

      psql -U zabbix -h localhost
      
    • перезаписать историю из сохраненных таблиц в новые таблицы, выполнив запросы:

    INSERT INTO history SELECT * FROM history_old ON CONFLICT
    (itemid,clock,ns) DO NOTHING;
    INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT
    (itemid,clock,ns) DO NOTHING;
    INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT
    (itemid,clock,ns) DO NOTHING;
    INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT
    (itemid,clock,ns) DO NOTHING;
    INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT
    (itemid,clock,ns) DO NOTHING;
    
    • удалить переименованные таблицы, выполнив запросы:

    DROP TABLE history_old;
    DROP TABLE history_uint_old;
    DROP TABLE history_str_old;
    DROP TABLE history_log_old;
    DROP TABLE history_text_old;
    
    • запустить службу сервера Zabbix:

    systemctl start zabbix-server