Table of Contents

8 Заметки по обновлению для 2.2.0

  • Минимально поддерживаемая версия PHP была изменена с 5.1.6 на 5.3.0
  • Минимально поддерживаемая версия MySQL была изменена с 5.0.0 на 5.0.3
  • Необходимо РНР раширение “mysqli” вместо “mysql”
  • Допустимо возможный лимит при использовании протокола Zabbix был изменен со 128Мб до 64Мб.

Регистрозависимая база данных MySQL

Регистрозависимая база данных MySQL требуется для корректной работы сервера. Рекомендуется создавать регистрозависимую базу данных MySQL во время установки. Если вы создали базу данных MySQL с набором символов utf8 изначально, для поддержки регистрозависимых хранимых данных, вам небоходимо сконвертировать c поддержкой collation utf8_bin.

Новая процедура обновления схемы базы данных

Теперь SQL скрипты не нужны для обновления - обновление схемы базы данных выполняется процессом Zabbix сервера.

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

Автоматическое обновление базы данных SQLite не поддерживается

Изменения в правах доступа

С версии Zabbix 2.2 права доступа "Чтение-Запись" имеют приоритет над правом доступа "Чтение". Ранее, если пользователь (из двух разных групп пользователей) имел привилегии к определенному узлу сети и на "Чтение", и на "Чтение-Запись", то узел сети для него был доступен только для "Чтения". Сейчас же будет привилегия на "Чтение-Запись".

Изменения в вычислении триггеров с историей=0 в элементах данных

Ранее, при настройке элемента данных вы могли указать опцию Хранение истории равной 0 и такие триггеры, которые использовали при вычислении только последнее значение, продолжали работать. Начиная с введения кэша значений в Zabbix 2.2, функции триггеров не вычисляются, если история элемента данных задана равной 0.

Изменение логики периодов обслуживания

Ранее, период обслуживания для каждого второго/третьего/и так далее дня выполнялся на второй/третий/и так далее день после Активно с дня. Теперь, первая активация произойдет в Активно с дня и затем каждый второй/третий/и так далее день.

64-битный диапазон для идентификаторов объектов

Zabbix теперь поддерживает знаковый 64-битный диапазон для внутренних идентификтаров объектов в автономной, не распределенной инсталляции. Таким образом наибольшее возможное число для однотипных объектов теперь равно 263.

Изменения в элементах данных монитора баз данных

Ранее все ODBC параметры хранились в поле дополнительного параметрв в следующем формате:

DSN=<имя источника данных>
       user=<имя пользователя>
       password=<пароль>
       sql=<запрос>

В Zabbix 2.2.0, хранение параметров ODBC было изменено:

  • <имя источника данных> хранится вторым параметров ключа элемента данных
  • <имя пользователя> хранится в поле имени пользователя элемента данных
  • <пароль> хранится в поле пароля элемента данных
  • <запрос> хранится в поле дополнительных параметров элемента данных

Обновление базы данных автоматически сконвертирует элементы данных монитора баз данных в новый формат. Единственным исключением являются элементы данных, которые выходят за следующие ограничения:

  • Длина <имени источника данных> плюс длина ключа элемента данных должна быть меньше 255 символов
  • Длина <имени пользователя> должна быть меньше 65 байт
  • Длина <пароля> должна быть меньше 65 байт

Если элемент данных не может быть сконвертирован из-за перечисленных ограничений, он останется неизменным и сообщение об ошибке будет записано в файл журнала. Такие элементы данных должны быть сконвертированы вручную (потребуется изменить проблемные параметры, так чтобы они соответствовали новым требованиям):

  1. добавить <имя источника данных> в ключ элемента данных вторым параметром
  2. переместить <имя пользователя>, <пароль> в соответствующие поля Имени пользователя, Пароля
  3. в поле <SQL запрос> оставить только <запрос>

Примеры ошибок при конвертации элемента данных:

 25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because key "db.odbc.select[query4__123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789]" is too long. See upgrade notes for manual database monitor item conversion.
        25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because ODBC username "123456789_123456789_123456789_123456789_123456789_123456789_123456789_" is too long. See upgrade notes for manual database monitor item conversion.
        25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because ODBC password "123456789_123456789_123456789_123456789_123456789_123456789_123456789_" is too long. See upgrade notes for manual database monitor item conversion.

Удалена поддержка iODBC support

Zabbix поддерживал unixODBC и iODBC для прямого мониторинга баз данных. iODBC поддерживается неактивно и не было никаких известных пользователей этой библиотеки, поэтому поддержка iODBC была удалена в 2.2. Для мониторинга баз данных необходимо использовать unixODBC.

Изменения во внутренних проверках

Внутренняя проверка zabbix[items] теперь возвращает количество наблюдаемых элементов данных вместо общего количества элементов данных в базе данных.

Внутренние проверки у узлов сети, которые наблюдаются через прокси, будут обработаны прокси.

Возвращается пустая строка вместо EOF

Некоторые элементы данных, которые использовали возвращение EOF в случае ошибок - vfs.file.contents, vfs.file.regexp, web.page.get и web.page.regexp - теперь возвращают пустую строку.

Изменения в элементах данных мониторинга журнала событий Windows

В элементах данных мониторинга журнала событий Windows опция фильтра источника изменена для поддержки регулярных выражений.

Обновление базы данных автоматически сконвертирует четвертый параметр ключей элементов данных eventlog в регулярное выражение (добавлением символов ^ и $ в начало и конец четвертого параметра соответственно для всех существующих ключей элементов данных eventlog).

Время ожидания и повторы для SNMP проверок

Zabbix сервер и прокси теперь будут правильно использовать параметр конфигурации Timeout при выполнении SNMP проверок. Дополнительно теперь Zabbix процессы не будут выполнять повторные SNMP запросы после одного неудачного SNMP запроса (по превышении времени ожидания/некорректные настройки учетных данных). Ранее, на самом деле, использовались стандартные время ожидания и количество повторов из библиотеки SNMP (1 секунда и 5 повторов соответственно).

Изменения в валидации параметров элементов данных

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

Начиная с Zabbix 2.2 агент возвращает ZBX_NOTSUPPORTED в случае некорректных значений timeout или count проверки net.dns. Ранее не было валидации значений и использовалось значение по умолчанию или 0. Теперь значение 0 также будет ошибкой.

Изменения в элемента данных system.uname

До Zabbix 2.2 значение для system.uname получалось вызовом "uname -a" на UNIX системах. Начиная с Zabbix 2.2 значение получается использованием системного вызова uname(). Следовательно, значение этого элемента данных может отличаться после обновления и не включать дополнительной информации, как в "uname -a" основанной на других источниках.

Изменения в макросах

EVENT.* макросы, такие как {EVENT.ID}, {EVENT.TIME}, {EVENT.DATE}, {EVENT.AGE}, {EVENT.ACK.HISTORY}, {EVENT.ACK.STATUS}, ведут себя иначе в уведомлениях об восстановлении в Zabbix 2.2.

Ранее, когда использовались сообщения о восстановлении они возвращали информацию события о восстановлении. Zabbix 2.2 будет возвращать информацию события первоисточника проблемы.

Для получения информации о событии о восстановлении, добавлены отдельные макросы восстановления (EVENT.RECOVERY.* ) - {EVENT.RECOVERY.ID}, {EVENT.RECOVERY.TIME} и т.д. Для получения дополнительной информации смотрите макросы поддерживаемые по назначению.

Изменения в макросе {ESC.HISTORY}

Ранее, если один шаг эскалации приводил к генерации нескольких сообщений, значение макроса {ESC.HISTORY} могло быть отлично для разных получателей. Теперь {ESC.HISTORY} создает такое же содержимое сообщений в пределах одного шага эскалации, когда оповещение отправляется нескольким получателям.

Тестирование регулярных выражений

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

Изменения в API

Версия Zabbix API была увеличена до 2.2.0 и теперь будет соответствовать версии Zabbix.

Загрузка всей информации в "Последних данных"

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

Изменения в автоматической очистке истории

Параметр Zabbix сервера DisableHousekeeping более не поддерживается. Вместо него в Zabbix веб-интерфейсе появился детальный инструмент управления расположенный в // Администрирование → Общие → Очистка истории// позволяющий выборочно включать/выключать очистку истории для определенных таблиц.

По умолчанию очистка истории отключена после обновления до 2.2. Желаемый функционал очистки истории должен быть включен вручную.

Проверка JSON на стороне сервера

Ранее, немного некорректный JSON запрос мог быть принят Zabbix сервером. Начиная с Zabbix 2.2 будет выполнятся проверка синтаксиса. Если пользовательские правила LLD используют некорректный синтаксис JSON, они могут перестать работать. В таком случае пользовательские правила должны быть исправлены, чтобы отдавали JSON корректного формата.

Добавлена проверка UTF-8 в параметрах конфигурации демонов

Проверка кодировки в параметрах конфигурации Zabbix демона изменена на запрещение не UTF-8 символов.

Верификация выхода из сессии

Выход из системы теперь требует корректный SID, указанный в URL.

Изменения в элементах комплексных экранов

Элементы комплексных экранов Состояние триггеров узла сети и Состояние триггеров группы узлов сети были переименованы в Проблемы у узла сети и Проблемы в группе узлов сети соответственно.

Ранее, триггеры без событий не отображались в этих двух виджетах, ни в Последние 20 проблем виджете. Теперь триггеры без событий отображаются также и в этих трех местах.

Механизм сохранения расположения виджетов на ПАНЕЛЕ

После обновления до 2.2, размещение виджетов, выбранное пользователем, на ПАНЕЛЕ будет потеряно. Это произойдет, потому что расположение виджетом на ПАНЕЛЕ, ранее хранилось в cookie, теперь оно хранится в базе данных.

После обновления, браузеры могут содержать cookie связанные с ПАНЕЛЬЮ, которые более не используются, потому что в новой версии нет функционала работы с ними.

Измененный ответ траппера при отправке данных

До Zabbix 2.2.0, ответ траппера на отправленные значения с помощью активного агента/sender содержал поле информации в следующем формате:

Processed <N> Failed <N> Total <N> Seconds spent <N>

Начиная с Zabbix 2.2.0, форматирование поля информации изменено для более простого чтения:

processed: <N>; failed: <N>; total: <N>; seconds spent: <N>

Изменения в кодах выхода утилиты Zabbix sender

Начиная с версии 2.2.0 Zabbix sender теперь завершается с кодом завершения 0, только если все значения отправлены и обработаны успешно. Если обработка по крайней мере одного значения неудачна, код завершения будет равен 2. Если отправка данных неуспешна, код завершения будет равен 1. Дополнительно, если не указаны аргументы или сервер, то код выхода будет 1 и для опций -h и -V код выхода будет равен 0 (до Zabbix 2.2.0 код состояний для всех перечисленных ситуаций был 255).

Дополнительно когда читаются данные из файла (-i) или при работе в режиме реального времени (-r) Zabbix sender немедленно выйдет с коррекнтым статусом выхода после неудачного чтения или отправки входной строки.

Разный порядок колонок в Oracle

Порядок колонок в таблице alerts может быть разным после обновления по сравнению со свежей установкой (только в случае с Oracle). Это происходит потому что, нет возможности изменить тип колонки с varchar на nclob и вставить колонку в указанное место в Oracle. Это различие не должно привести к каким-то функциональным различиям.

Помощь по элементам данных перемещена в PHP код

Стандартные ключи элементов данных, которые ранее хранились в таблице help_items теперь размещаются в PHP классе CHelpItems в frontends/php/include/classes/items/CHelpItems.php. Таблица help_items была удалена.

Исправления безопасности в демонах

Zabbix сервер сейчас корректно включает SSL проверку узла сети когда используется сервис Ez Texting для отправки оповещений.

Изменения очереди

Очередь (Администрирование → Очередь) сейчас возвращается напрямую с сервера и доступна только когда Zabbix сервер запущен и в случае когда веб-интерфейс имеет прямой доступ к Zabbix серверу.

Изменение журналирования

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

SNMP item [ifInOctets.3] on host [gateway] failed: first network error, wait for 15 seconds

Начиная с версии Zabbix 2.2.0 тип спецификации SNMP, IPMI и JMX проверок включает дополнительное слово "agent":

SNMP agent item [ifInOctets.3] on host [gateway] failed: first network error, wait for 15 seconds