Zabbix Documentation 4.0

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

ru:manual:installation:upgrade_notes_400

Table of Contents

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

Эти заметки относятся к обновлению с Zabbix 3.4.x до Zabbix 4.0.0. Все заметки сгруппированы в:

  • Критические - наиболее критическая информация относящаяся к процессу обновления и изменения в функциональности Zabbix
  • Информационные - вся оставшаяся информация, описывающая изменения в функциональности Zabbix

Имеется возможность обновления до Zabbix 4.0.0 с версий до 3.4.0. Обратите анимание на раздел процедуры обновления для получения соответствующих сведений об обновлении с предыдущих версий Zabbix.

Критические

Дополнительные зависимости

  • libpthread - библиотека POSIX потоков теперь обязательна при компиляции Zabbix сервера и Zabbix прокси. Она требуется для разделяемых между процессами мьютексов (process-shared mutex) и чтения-записи блокировок (read-write lock). Если мьютексы доступны, но не могут быть разделяемыми между процессами, тогда Zabbix вернётся к использованию семафоров, как и до обновления.
  • zlib - библиотека сжатия теперь обязательна при компиляции Zabbix сервера и Zabbix прокси.

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

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

Убрана поддержка протокола в виде простого текста

Поддержка протокола в виде простого текста убрана и заголовок теперь обязателен. Заголовок добавляется к запросам Zabbix get, к запросам пассивных проверок Zabbix сервера/прокси и к запросам веб-интерфейса к Zabbix серверу.

Как следствие, Zabbix агенты старше 1.4 версии более не поддерживаются. Также, сообщения с самописных senders будут отклоняться, если отсутствует заголовок. Если ранее Zabbix трапперы могли принимать сообщения без заголовков, так и с заголовками, теперь они будут принимать сообщения только с заголовком протокола.

Подгружаемые модули

Экспорт истории через модуль более не поддерживается на стороне Zabbix прокси.

Удалён раздел Мониторинг → Триггеры

Теперь раздел Мониторинг → Триггеры удалён. Связанные с этим разделом параметры “Отображать события не старше чем” и “Макс. количество отображаемых событий у триггера” соответственно также удалены.

Запрещенный синтаксис параметров в ключах элементов данных

Следующий синтексис параметров в ключах элементов данных более неподдерживается:

  • Многоуровневые массивы параметров, например [a,[b,[c,d]],e]
  • Параметры в стиле Zapcat, например [a][b]

Обратите внимание, такой синтаксис никогда не использовался в официальных ключах Zabbix элементов данных, и он никогда официально не подтверждался документально что поддерживается. Он существовал только для обратной совместимости с такими решениями как Zapcat JMX Zabbix Bridge [en].

Поддержка MySQL 8.0

Чтобы добавить поддержку MySQL 8.0 в этой версии, сделаны два изменения в базе данных:

  • таблица 'groups' переименована на 'hstgrp'
  • поле 'function' в таблице 'functions' переименовано на 'name'

Функции триггеров

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

Более не поддерживаются макросы $1-$9 в именах элементов данных, которые использовались ссылкой на параметры ключа элемента данных.

HTTP аутентификация

Когда аутентификация системы по умолчанию была ранее задана значением 'HTTP аутентификация', в процессе обновления она будет изменена на 'Внутренняя' с активированным 'HTTP Аутентификация' по умолчанию. Для таких конфигураций необходимо очистить значений существующих паролей пользователей по умолчанию в базе данных выполнив следующий запрос:

UPDATE users SET passwd="" WHERE passwd=md5('zabbix')

Информационные

Макросы в имени элементов данных устарели

Использование макросов позиции ($1, $2, …$9) и пользовательских макросов в именах элементов данных и прототипах элементов данных теперь устарело.

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

Коррекция штампа времени

Zabbix сервер более не выполняет коррекцию штампов времени в случае, когда время Zabbix прокси отличается от времени Zabbix сервера.

Триггеры времени обрабатываются процессами синхронизации истории

Обработка функций триггеров связанных со временем таких как nodata(), date(), dayofmonth(), dayofweek(), time() и now() перенесена с процессов таймер на процессы синхронизации истории.

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

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

Влияние обслуживание узлов сети на уровне триггеров

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

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

Изменения в авторегистрации

Поведение авторегистрации изменилось следующим образом:

  • Действия на авторегистрацию активных агентов будут запускаться повторно, если изменятся метаданные узла сети;
  • Так как метаданные добавляются только в процессе авторегистрации, у вручную созданных узлах сети будут отсутствовать метаданные и авторегистрация запустится повторно;
  • Если узел сети будет вручную обновлен на наблюдение через другой Zabbix прокси, тогда авторегистрация запустится повторно.

Как и ранее, если авторегистрация по одному и тому же узлу сети прийдет с нового Zabbix прокси, тогда авторегистрация запустится повторно.

Генерация имени проблемы

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

Обновление базы данных в процессе первичного запуска сервера может занять продолжительное время, если имеется большое количество старых проблем и в именах триггерах используются {ITEM.VALUE}, {ITEM.LASTVALUE} макросы.

Значения полей, которыми заполняются имена событий и проблем:

  • Для событий на триггера - имя триггера со всеми раскрытыми макросами
  • Для событий на внутренние проблемы:
    • Cannot obtain item value (Не удалось получить значение элемента данных) - для неподдерживаемых элементов данных
    • Cannot calculate trigger expression​ (Не удалось вычислить выражение триггера) - для неизвестных триггеров
  • Для остальных событий имя останется пустым
Изменения в связанных макросах

В связи с этой разработкой в макросах имеются несколько изменений:

  • {TRIGGER.NAME} заменен на {EVENT.NAME} во всех сообщениях по умолчанию.
  • в процессе обновления {TRIGGER.NAME} заменится на {EVENT.NAME} во всех действиях на основе триггеров.

Работа с проблемами

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

Связанные изменения в API

Методы ​problem.get​ и ​event.get​ изменились таким образом, что входной параметр поиска/фильтра с объектом {'​name':​ '​…'​} в виде значения используется для поиска соответствующих результатов (по полю “​name”​) в соответствующей таблице (“​problem”​ или “​events”​).

Методы ​problem.get​ и ​event.get​ расширены добавлением получаемого параметра, которое называется “​name”​. В обоих методах новый параметр содержит значения из недавно добавленного поля “​name”​ в таблицы базы данных “​problem”​ или “​events”​.

Использование кэша конфигурации сервера

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

Выполнение скрипта внешней проверки

При выполнении скрипта внешней проверки аргументы заключаются в одинарные кавычки ' вместо двойных кавычек ". Это изменение позволяет Zabbix принимать больше символов в именах параметров внешних проверках. Например, символ $ более не игнорируется.

Доступность Zabbix Java gateway

Начиная с текущего момента состояние доступности Zabbix Java gateway не меняется на красный цвет каждый раз, когда какой-либо из элементов данных становится неподдерживаемым. Иконка доступности JMX станет красной только в случае сетевых ошибок - когда недоступен Java gateway или когда имеются проблемы связи между Zabbix сервером и Zabbix Java gateway.

Изменены журналы Zabbix Java gateway

Если вы наблюдаете за журналами Java gateway, имейте в виду, что трассировка стека исключений более недоступна на уровнях сообщений Java gateway об ошибках и предупреждений.

Изменения в триггерах

  • Изменилось поведение выражений триггеров относительно чисел, отличающихся на 0.000001. Поскольку логические операторы определены с точки зрения равенства нулю, их результат для 0.000001 также влияет:
Выражение (Пример) Результат вычисления
До После
1.000001 > 110
1.000001 <= 101
0 >= 0.000001 01
0.000001 <> 010
0.000001 = 001
0 or (1/1000000)10
not (1/1000000)01
1 and 1/100000010

Переименованы виджеты, элементы комплексных экранов и отчеты ​

Переименованы следующие элементы:

РанееВ Zabbix 4.0
Состояние системыПроблемы по важности
Состояние узлов сетиУзлы сети с проблемами
Состояние ZabbixИнформация о системе

Также затронут API панели: некоторые типы свойств виджетов панели теперь переименованы.

Сообщение об ошибке в JMX мониторинге

Так как Zabbix Java gateway теперь поддерживает работу с пользовательскими MBean, которые возвращают непримитивные типы данных, которые переопределяют метод toString(), возможное сообщение об ошибке изменилось следующим образом:

Ранее: data object type is not primitive: xxx
В Zabbix 4.0: Data object type cannot be converted to string.

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

Сообщение, которое записывается в файлы журналов, о заполненном кэше истории изменилось следующим образом:

Ранее: History buffer is full. Sleeping for 1 second.
В Zabbix 4.0: History cache is full. Sleeping for 1 second.