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

Удален распределенный мониторинг на основе нод

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

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

Для сохранения уникальности данных с не локальных нод, все поля получат префикс N<nodeid>_. Если длина нового значения превышает максимальный размер поля, значение будет обрезано. Крайне маловероятно, но если новое значение уже существует в базе данных, такая ситуация будет перехвачена проверкой на дубликаты. Глобальные макросы будут обработаны специальным образом, после символа доллара добавится N<nodeid>_, например {$N123_МАКРОС}.

Поддержка второго параметра "node watcher" внутренним элементом данных zabbix[process] убрана. Данный элемент данных также удален из шаблона Template App Zabbix Server. Для применения этого исправления, либо вручную удалите этот элемент данных, либо импортируйте новый шаблон отметив опцию Удаление отсутствующих для элементов данных.

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

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

Обработка автоматически обнаруженных узлов сети

Узлы сети, созданные правилами сетевого обнаружения будут автоматически удалены, если обнаруженный узел более не принадлежит диапазону IP адресов правила. Удаление производится немедленно.

Внутренние элементы данных обрабатываются всегда

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

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

Элемент данных zabbix[proxy,<имяпрокси>,"lastaccess"] теперь всегда обрабатывается сервером вне зависимости от расположения узла сети (за сервером или за прокси).

Форматирование JSON

Убрано форматирование JSON объектов (отступы и переводы строк), что сэкономит порядка 20-30% трафика при передаче данных между сервисами Zabbix. Также был убрано экранирование символа косой черты (/). JSON, отформатированный предыдущими версиями Zabbix, по-прежнему признается корректным.

Работа с файлом журнала

При DebugLevel=0 в файл журнала/syslog пишется только основная информация. В случае с агентами это его версия, используемый файл конфигурации, запущенные/остановленные процессы. В случае сервера и прокси - версия, включенные компоненты, используемый файл конфигурации, версия базы данных, запущенные/остановленные процессы. Файлы журналов в Linux и Windows системах теперь идентичны по формату.

Изменения в демонах

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

Сервер и прокси теперь не запускаются при параметре конфигурации StartPollersUnreachable равном 0, если обычные, IPMI или Java пуллеры запускаются. Иначе бы узлы сети, которые стали недоступны никогда не будут проверены снова.

Прокси теперь не запускается с базой данных Zabbix сервера. В некоторых старых версиях прокси можно было запустить с базой данных сервера (т.е. по ошибке) и это как-то работало. После обновления до Zabbix 2.4 такое поведение более невозможно. Следуйте инструкциям для создания новой, действительной базы данных для прокси, если это необходимо. Подобная проверка добавлена и для сервера, для предотвращения запуска его с базой данных прокси.

Поддержка PHP mutex была убрана из сервера из-за проблем с лицензированием. Тогда как не рекомендовалось использовать Zabbix сервер и веб-интерфейс с базой данных SQLite3 ранее, теперь это в большей степени не рекомендуется, т.к. одновременный доступ сервера и веб-интерфейса может нарушить целостность базы данных. Обратите внимание, при этом использование SQLite3 на Zabbix прокси всё еще является верным решением.

Символы возврата каретки (CR) более не обрезаются в сообщениях оповещений. Любые пользовательские скрипты используемые для обработки сообщений действий должны быть обновлены, чтобы была поддержка нового формата новой строки (CRLF).

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

Очистка истории на zabbix_server и zabbix_proxy теперь отложена на 30 минут после запуска процессов. Это уменьшает нагрузку при старте этих процессов.

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

Пользовательские параметры, глобальные скрипты, элементы данных system.run[] и внешние проверки будут сейчас возвращать стандартные ошибки вместе со стандартным выводом. В крайнем случае стандартная ошибка в виде числового значения элемента данных числового типа изменит состояние из НЕПОДДЕРЖИВАЕТСЯ на нормальное.
Обратите внимание: Windows агент имеет аналогичный функционал начиная с версии 1.8.5.

Пустой результат теперь допустим у элементов данных system.run[]. Элемент данных system.run, настроенный на тип текстовых значений (символ, журнал или текст), изменит состояние из неподдерживаемого на нормальное, если команда вернёт пустой результат.

Изменения касающиеся поддержки мультибайтовых строк

Теперь Zabbix веб-интерфейс выводит неустранимую ошибку, если выключена PHP функция mbstring. Никакие другие оберточные строковые функции больше не используются; они заменены на функции string и/или mbstring соответственно. Кроме того, опция mbstring.func_overload в файле php.ini должна быть выключена, в случае, если она включена, в Состояние Zabbix будет отображаться предупреждение.

Единый формат даты и времени

Форматы даты и времени в веб-интерфейсе Zabbix приведен к единому виду ГГГГ-ММ-ДД чч:мм:сс согласно стандарту ISO 8601. Новый формат применяется во всех местах за исключением графиков.

Изменения на странице "Последние данные"

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

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

Ранее в последней колонке Ошибка списка элементов данных и триггеров, отображалась зеленая иконка состояния, сообщавшая об отсутствии ошибки, которая могла ввести в заблуждение, что ошибка, наоборот, присутствует. Теперь зеленая иконка более не отображается, а колонка переименована в Инфо. У элементов данных с ошибками, как и раньше, в этой колонке отображается красная иконка.

Аналогичные изменения также применены и к списку триггеров.

Изменение в палитре цветов графиков

Цветовая палитра график по умолчанию изменена, чтобы в первую очередь использовался зеленый цвет вместо красного. Красный будет использоваться вторым. Палитра стобчатых графиков №4 также немного изменена. Изменение не коснется существующих пользовательских графиков, но цвета будут отличаться при создании новых пользовательских графиков.

Конвертация триггеров к новому синтаксис

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

Обратите внимание, вместе с изменением синтаксиса, изменилась ассоциативность унарного оператора - с ассоциативности справа на отсутствие ассоциативности, что означает что сейчас необходимо использовать -(-1) вместо --1.

Прекращена поддержка констант округления

Описания констант ZBX_UNITS_ROUNDOFF_THRESHOLD, ZBX_UNITS_ROUNDOFF_UPPER_LIMIT, ZBX_UNITS_ROUNDOFF_MIDDLE_LIMIT и ZBX_UNITS_ROUNDOFF_LOWER_LIMIT удалены из документации, так как их функциональность более не соответствует их назначению. Они все еще присутствуют в коде и некоторые изменения сделанные в них остаются, но их изменение может привести к неожиданным результатам.