zabbix-mineТекущая актуальная версия Zabbix — 2.0. Для того, чтобы прийти к ней, потребовалось почти два с половиной года. Конечно ожидание было не напрасным — в Zabbix 2.0 появилось огромное количество новых возможностей. Согласно RoadMap Zabbix 2.2, он выйдет гораздо быстрее — дата релиза намечена на 1 мая. Давайте рассмотрим, что анонсируют разработчики в версии Zabbix 2.2.

Первое обновление, которое заметят и оценят все — автоматическое обновление схемы базы данных.

Раньше одним из самых сложных шагов обновления было обновление БД. Существовал SQL файл с патчем, который приходилось устанавливать вручную.

Это было особенно неудобно при установке новых версий Zabbix из пакетов. Каждое подобное обновление требовало ручных действий. При этом сам пакет обычно ставился одной командой.

В Zabbix 2.2 данная проблема решена — теперь будет использоваться полностью автоматическое обновление БД.

Общая информация.

Обновление БД будет осуществляться сервером Zabbix. Каждый раз при старте будет проверяться текущая версия БД и, в случае необходимости, инициирован процесс обновления.

Админка будет проверять версию базы данных на предмет совместимости и, в случае расхождения в версиях, сообщать об этом.

Давайте рассмотрим данный функционал более детально.

Сервер Zabbix.

Для начала сервер Zabbix должен определить, должен ли он обновлять БД. Это делается путем добавления новой таблицы dbversion, содержащей информацию о двух типах обновлений — обязательных и опциональных. Если обновление будет проходить с версии 2.0, в котором отсутствует эта таблица, сервер проверит существование поля server_check_interval в таблице config, которое появилось в версии 2.0. Если поле присутствует, значит это Zabbix 2.0.

Обязательные и опциональные обновления.

В Zabbix есть обновления, которые затрагивают схему базы данных, а есть обновления индексов, позволяющие улучшить быстродействие. Первые будут относиться к обязательным, вторые — к опциональным.

С учетом того, что некоторые опциональные обновления могут привести к несовместимости с админкой в будущем, Zabbix сервер будет отслеживать их наряду с обязательными, что позволит обеспечить совместимость.

При запуске Zabbix сервера, он будет писать информацию об обновлениях в лог-файл. Если база данных не обновлена, будет запущен процесс обновления. По мере выполнения обновления, в лог-файл будет записываться текущий статус. Пример подобного лога ниже:

Если процесс обновления потерпит неудачу на любом из шагов, сервер остановится, дав возможность исправить проблему. Когда он будет запущен снова, то продолжит с места останова на основании данных из dbversion.

Админка.

Админка Zabbix не будет выполнять никаких обновлений базы данных, а лишь проверять версию БД на совместимость. Проверка будет осуществляться только на предмет основных обновлений, информация об опциональных обновлениях будет игнорироваться.

Если версии будут несовместимы, вы получите подобное окно:

frontend_version_not_matching

В приведенном примере версия админки слишком стара для базы данных.

По материалам сайта http://blog.zabbix.com