Table of Contents

5. Что нового в Zabbix 7.0.0

Смотрите критические изменения для этой версии.

Лицензия AGPL-3.0

Программное обеспечение Zabbix теперь пишется и распространяется под лицензией AGPL-3.0 (ранее лицензия GPL v2.0).

Проверка обновлений программного обеспечения

Теперь по умолчанию к новым и существующим установкам добавлена проверка обновлений программного обеспечения — веб-интерфейс Zabbix будет связываться с общедоступной конечной точкой Zabbix для проверки наличия обновлений.

Новости о доступных обновлениях программного обеспечения Zabbix отображаются в Отчёты -> Информация о системе и (опционально) в виджете панели Информация о системе.

Вы можете отключить проверку обновлений программного обеспечения, установив AllowSoftwareUpdateCheck=0 в настройках сервера.

База данных Oracle устарела

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

Отправка данных на Zabbix сервер через Zabbix API

Ранее отправка определённых данных на сервер Zabbix была возможна с помощью утилиты Zabbix sender или путём реализации специального коммуникационного протокола на основе JSON, аналогичного используемому в утилите Zabbix sender.

Теперь также можно отправлять данные на сервер Zabbix по протоколу HTTP, используя метод API history.push. Обратите внимание, что для получения отправленных данных требуется настроенный элемент данных trapper или элемент данных HTTP-агент (с включённой опцией «Активировать трапы»).

Кроме того, правильные операции history.push записываются в ОтчётыЖурнал аудита, который имеет дополнительные параметры фильтрации (новое действие Push и ресурс История), а метод API history.push также доступен в списке разрешений/запретов методов API при настройке роли пользователя.

Производительность

Более быстрая реакция на обновление периода обслуживания узла сети

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

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

Каждую секунду процесс таймер (timer) проверяет, необходимо ли начать или завершить какие-либо периоды обслуживания, исходя из того, были ли изменения в периодах обслуживания после обновления конфигурации. Таким образом, скорость начала или завершения периодов обслуживания зависит от интервала обновления конфигурации (по умолчанию 10 секунд). Обратите внимание, что изменения в периодах обслуживания не включают настройки «Активно с» и «Активно до». Кроме того, если узел сети или группа узлов сети добавляются в существующий активный период обслуживания, изменения будут применены процессом таймера только в начале следующей минуты.

Более быстрые проверки разрешений

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

Эти таблицы содержат хеши (SHA-256) наборов групп пользователей и наборов групп узлов сети для каждого пользователя и узла сети соответственно. Дополнительно имеется таблица разрешений, которая хранит только доступные комбинации пользователей и узлов сети, указанные с помощью хеш-идентификаторов.

Это улучшение значительно ускоряет загрузку страниц интерфейса с большим количеством разрешений (например, узлов сети, проблем). Обратите внимание, что хеши и разрешения не вычисляются для пользователей с правами Супер-администратора.

Более быстрое выполнение действий триггеров

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

Снижение задержки стало возможным благодаря реализации механизмов межпроцессного взаимодействия (IPC) между несколькими процессами (escalator и escalation initiator, escalator и alerter, preprocessing manager и history syncer).

Усиление защиты серверной среды

Теперь можно ограничить некоторые функции Zabbix для усиления защиты серверной среды:

  • выполнение глобальных скриптов на сервере Zabbix можно отключить, задав EnableGlobalScripts=0 в настройках сервера. Для новых установок выполнение скриптов на сервере Zabbix по умолчанию отключено.
  • HTTP-аутентификацию пользователя можно отключить, установив $ALLOW_HTTP_AUTH=false в файле настроек веб-интерфейса (zabbix.conf.php).
  • GSM-модем для SMS-уведомлений теперь можно указать в новом параметре SMSDevices, ограничивающем возможность неправильной настройки пути GSM-модема из веб-интерфейса.

Проверка файла конфигурации

Возможность проверки файла конфигурации была добавлена в команды обслуживания Zabbix сервера, прокси, агента, агента 2 и веб-сервиса. Проверку можно выполнить с помощью параметра -T --test-config. В случае успешной проверки код завершения будет «0»; в противном случае компонент завершит работу с ненулевым кодом завершения и соответствующим сообщением об ошибке. Предупреждения (например, в случае устаревшего параметра) не повлияют на успешный код завершения.

Настройка типа запуска службы агента Windows

Добавлена опция для установки типа запуска службы Windows Zabbix агента/агента 2 (-S --startup-type). Эта опция позволяет настроить службу агента/агента 2 на автоматический запуск при старте Windows (automatic), после завершения запуска автоматически запускаемых служб (delayed), при ручном запуске пользователем или приложением (manual) или для полного отключения службы (disabled).

При выполнении установки агента Windows из MSI тип запуска по умолчанию в Windows Server 2008/Vista и более поздних версиях теперь delayed, если не указано иное в параметре командной строки STARTUPTYPE. Это повышает надёжность и производительность службы Windows Zabbix агента/агента 2, особенно во время перезагрузок системы.

Потоковая передача выборочных данных и настройка интервалов между попытками

При потоковой передаче значений элементов данных из Zabbix во внешние системы теперь можно настроить, какие значения элементов данных должен передавать коннектор, в зависимости от типа информации (числовые (целое положительное), числовые (с плавающей точкой), символьные и т. д.).

Кроме того, чтобы избежать неудачных попыток потоковой передачи значений элементов данных или событий (например, если конечная точка HTTP занята или ограничена по скорости), теперь можно также настроить интервал между попытками — как долго коннектор должен ждать после неудачной попытки потоковой передачи данных.

Коды ответов HTTP 201, 202, 203 и 204 теперь также принимаются коннекторами как успешные (ранее только 200).

Потоковая передача данных в Apache Kafka

Теперь доступен новый инструмент для потоковой передачи данных во внешние системы — коннектор Kafka для сервера Zabbix [en]. Коннектор Kafka — это несложный сервер, написанный на Go, предназначенный для пересылки значений элементов данных и событий с сервера Zabbix брокеру Kafka.

Асинхронные поллеры

Добавлены новые процессы-поллеры, способные выполнять несколько проверок одновременно:

  • agent poller
  • http agent poller
  • snmp poller (для элементов данных типа walk[OID] и get[OID])

Эти поллеры являются асинхронными — они способны запускать новые проверки без необходимости ожидания ответа, с возможностью настроить до 1000 одновременных проверок.

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

Вы можете запустить асинхронные поллеры агентов, изменив значение параметра StartAgentPollers — нового параметра сервера/прокси. Поллеры HTTP агентов можно запустить, изменив соответственно StartHTTPAgentPollers. SNMP поллеры можно запустить, изменив StartSNMPPollers соответственно.

Максимальный параллелизм для асинхронных поллеров (агенты, HTTP агенты и SNMP) определяется параметром MaxConcurrentChecksPerPoller.

Обратите внимание, что после обновления все проверки агента, HTTP-агента и SNMP walk[OID] будут перенесены в асинхронные поллеры.

В рамках разработки для проверок HTTP агента добавлена функция постоянных соединений (persistent connections) cURL.

Балансировка нагрузки и высокая доступность прокси

Балансировка нагрузки прокси реализована путём введения групп прокси в Zabbix. Группы прокси обеспечивают автоматическое распределение узлов сети между прокси, перераспределение нагрузки на прокси и высокую доступность — когда прокси отключается, его узлы сети немедленно распределяются между другими прокси в группе.

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

Многопоточность

В рамках перехода на многопоточную архитектуру было сделано несколько изменений:

  • Добавлен новый параметр скрипта configure: --with-stacksize. Этот параметр позволяет переопределить размер стека потока, по умолчанию используемый системой (в килобайтах).
  • Раскрытие пользовательских макросов было перемещено из менеджера предварительной обработки в рабочие процессы предварительной обработки.

Обнаружение функций библиотеки cURL во время выполнения

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

Теперь для того, чтобы обновлённые функции библиотеки cURL стали доступны в Zabbix, требуется только перезапуск. Перекомпиляция больше не требуется. Это справедливо для сервера Zabbix, прокси или агента.

Смотрите также заметки по обновлению.

Параметр префикса Хранилища добавлен в файлы конфигурации

Файлы конфигурации zabbix_server.conf и zabbix_proxy.conf были дополнены новым необязательным параметром Vault Prefix; zabbix.conf.php был дополнен необязательным параметром $DB['VAULT_PREFIX'], а setup.php был обновлён соответствующим образом.

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

Конфигурация агента 2

Размер буфера

Значение по умолчанию параметра конфигурации BufferSize для агента Zabbix 2 увеличено со 100 до 1000.

Разрешены пустые значения

Теперь в параметрах конфигурации, связанных с плагином, на агенте Zabbix 2 разрешены пустые значения.

Буфер памяти прокси

Для Zabbix прокси был разработан буфер памяти. Буфер памяти позволяет хранить новые данные (значения элементов данных, сетевое обнаружение, автоматическая регистрация узлов сети) в буфере и выгружать их на сервер Zabbix, не обращаясь к базе данных.

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

Для оптимизации производительности рекомендуется настроить на прокси использование буфера памяти. Это возможно путем изменения значения параметра ProxyBufferMode с «disk» (жёстко заданное значение по умолчанию для существующих установок) на «hybrid» (рекомендуемое) или «memory». Также необходимо задать размер буфера памяти (параметр (ProxyMemoryBufferSize).

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

В режиме памяти будет использоваться буфер памяти, однако, отсутствует защита от потери данных. Если прокси остановится или буфер памяти переполнится, неотправленные данные будут утеряны.

Гибридный режим (ProxyBufferMode=hybrid) применяется ко всем новым установкам, начиная с Zabbix 7.0.

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

Для мониторинга буфера памяти прокси были добавлены новые внутренние элементы данных.

JIT инициализация пользователей

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

Теперь в Zabbix для инициализируемых пользователей доступно больше гибкости:

  • инициализированные способы оповещений пользователя можно активировать/деактивировать;
  • поля способов оповещений инициализируемого пользователя, такие как Когда активен, Использовать, если важность и Активировано, можно редактировать вручную;
  • для инициализированных пользователей можно вручную добавлять дополнительные способы оповещений пользователя (например, дополнительные адреса электронной почты);
  • вручную добавленные способы оповещений пользователя можно удалять (инициализированные способы оповещений пользователя — нельзя).

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

Протокол JSON для пассивных проверок агента

Реализован протокол на основе JSON для пассивных проверок агента.

Для совместимости со старыми агентами было добавлено переключение на старый текстовый протокол. Если агент возвращает «ZBX_NOTSUPPORTED», Zabbix кэширует интерфейс как старый протокол и повторяет проверку, отправляя только ключ элемента данных в виде простого текста.

Zabbix get теперь можно запустить с новой опцией -P --protocol <значение>, где «значение» равно:

  • auto — подключиться по протоколу JSON, при необходимости переключиться и повторить попытку по протоколу простого текста (по умолчанию);
  • json — подключиться по ключу протокола JSON;
  • plaintext — соединение с использованием протокола простого текста, при котором отправляется только ключ элемента данных.

Если ключ элемента данных не поддерживается, Zabbix get вернёт код завершения 1.

Унифицированные протоколы агента/агента 2

Протоколы Zabbix агента и Zabbix агента 2 были унифицированы путём перехода Zabbix агента на протокол Zabbix агента 2. Различие между запросами/ответами Zabbix агента и Zabbix агента 2 выражается значением тега «variant» («1» — Zabbix agent, «2» — Zabbix agent 2).

Смотрите также: Пассивные и активные проверки агентов.

Поддержка переменных интервалов и интервалов по расписанию в активных проверках

Переменные интервалы и интервалы по расписанию теперь поддерживаются в активных проверках как Zabbix агентом, так и Zabbix агентом 2 (ранее поддерживались только Zabbix агентом 2).

Параллелизм в сетевом обнаружении

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

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

Менеджер обнаружения (discovery manager) обрабатывает правила обнаружения и для каждого правила создаёт задание обнаружения с задачами (проверками сервисов). Проверки служб выбираются и выполняются рабочими процессами обнаружения (discovery workers). Только те проверки, которые имеют одинаковые IP и порт, планируются последовательно, поскольку некоторые устройства могут не допускать одновременных подключений к одному и тому же порту.

Новый внутренний элемент данных zabbix[discovery_queue] позволяет отслеживать количество проверок обнаружения в очереди.

Параметр StartDiscoverers теперь определяет общее количество рабочих процессов обнаружения, доступных для обнаружения. Количество StartDiscoverers по умолчанию было увеличено с 1 до 5, а диапазон — от 0-250 до 0-1000. Процессы discoverer из предыдущих версий Zabbix были убраны.

Кроме того:

  • Все проверки сервисов теперь выполняются асинхронно, за исключением проверок LDAP;
  • Количество одновременных асинхронных проверок для каждого типа проверки сервисов (или количество доступных рабочих процессов для всех синхронных проверок сервисов) теперь можно настроить в веб-интерфейсе (см. Максимум одновременных проверок по каждому типу). Этот параметр необязателен.
  • Проверка сервисов HTTP ранее была такой же, как проверка TCP. Теперь проверка HTTP/HTTPs выполняется через libcurl. Если Zabbix сервер/прокси скомпилирован без libcurl, то проверки HTTP будут работать как и раньше (т. е. как проверки TCP), но проверки HTTPS работать не будут.
  • Ошибки в процессе обнаружения сети теперь будут отображаться в веб-интерфейсе (в Сбор данных -> Обнаружение), например:
    • ошибки fping;
    • неверный SNMP OID;
    • неверный макрос для тайм-аута элемента данных;
    • ошибки диапазона адресов.

Добавление тегов узла сети во время обнаружения/авторегистрации

Для событий обнаружения и авторегистрации теперь доступны дополнительные операции:

  • Добавить теги узла сети
  • Удалить теги узла сети

Совместное использование обнаруженных групп узлов сети

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

Коннекторы

Функционал потоковой передачи данных больше не является экспериментальным.

Шаблоны

Информацию о новых шаблонах и изменениях в существующих шаблонах смотрите в разделе Изменения в шаблонах.

Обновлённые функции

Несколько функций были обновлены:

  • Функции агрегации теперь также поддерживают нечисловые типы для вычислений. Это может быть полезно, например, с функциями count и count_foreach.
  • Функции агрегации count и count_foreach поддерживают необязательные параметры оператор и шаблон, которые можно использовать для тонкой настройки фильтрации элементов данных и подсчёта только тех значений, которые соответствуют заданным критериям.
  • Все функции foreach больше не включают в подсчёт неподдерживаемые элементы данных.
  • Функция last_foreach, ранее настроенная на игнорирование аргумента периода времени, принимает его как необязательный параметр.
  • Поддерживаемый диапазон значений, возвращаемых функциями прогнозирования, был расширен для соответствия диапазону типа данных «double». Теперь функция timeleft() может принимать значения до 1.7976931348623158E+308, а функция forecast() может принимать значения в диапазоне от -1.7976931348623158E+308 до 1.7976931348623158E+308.

Элементы данных

Согласованный период хранения истории по умолчанию

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

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

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

Подсчёт строк в журнале событий Windows

Новый элемент данных eventlog.count был добавлен в Zabbix агент/агент 2 для Windows. Этот элемент данных возвращает целочисленное значение с количеством строк в журнале событий Windows на основе указанных параметров.

Асинхронные SNMP-запросы с одним OID

Был добавлен новый элемент данных SNMP get[OID], позволяющий асинхронно запрашивать значение одного OID.

Мониторинг с помощью браузера

В Zabbix добавлен новый тип элемента данных — элемент данных «Браузер», который позволяет осуществлять мониторинг сложных веб-сайтов и веб-приложений с использованием браузера. Элементы данных «Браузер» позволяют выполнять пользовательский код JavaScript для имитации действий, связанных с браузером, таких как щелчок мышью, ввод текста, навигация по веб-страницам и т. д.

Этот элемент данных собирает данные по протоколам HTTP/HTTPS и частично реализует стандарт W3C WebDriver с использованием Selenium Server или простого WebDriver (например, ChromeDriver) в качестве тестовой конечной точки.

Обратите внимание, что поддержка элементов данных «Браузер» на данный момент является экспериментальной.

Кроме того, эта функция добавляет шаблон Website by Browser и новые элементы в экспорт/импорт конфигурации, файлы конфигурации сервера/прокси Zabbix, тайм-ауты и утилиту командной строки zabbix_js. Для получения дополнительной информации смотрите заметки по обновлению 7.0.0.

Внутренние элементы данных

Добавлены внутренние элементы данных для мониторинга буфера памяти прокси:

Также были добавлены следующие внутренние элементы данных:

  • zabbix[discovery_queue] — позволяет отслеживать количество проверок обнаружения в очереди;
  • zabbix[vps,written] — позволяет отслеживать общее количество значений истории, записанных в базу данных.

Новые и обновлённые элементы данных агента

В Zabbix агент/агент 2 были добавлены новые элементы данных:

  • Элемент данных net.dns.perf возвращает количество секунд, потраченных на ожидание ответа от службы, время выполнения элемента данных net.dns.
  • Элемент данных net.dns.get Zabbix агента 2 возвращает подробную информацию о записи DNS.

Следующие элементы данных Zabbix агента/агента 2 были обновлены :

  • Элементы данных net.dns и net.dns.record теперь принимают имя DNS в реверсном и прямом формате при выполнении реверсных поисков DNS;
  • Элементы данных proc.get в режимах «process» и «summary» теперь также возвращают память PSS (proportional set size, пропорциональный размер набора) в Linux;
  • Элементы данных system.sw.packages и system.sw.packages.get теперь поддерживаются в Gentoo Linux;
  • Элемент данных system.hostname теперь может возвращать полностью определённое доменное имя (FQDN), если в параметре тип указана новая опция fqdn;
  • Элементы данных wmi.get и wmi.getall, используемые с Zabbix агентом 2, теперь возвращают JSON с логическими значениями, представленными в виде строк (например, "RealTimeProtectionEnabled": "True" вместо "RealTimeProtectionEnabled": true, возвращаемого ранее), чтобы соответствовать формату вывода этих элементов в Zabbix агенте;
  • Элемент данных oracle.ts.discovery Zabbix агента 2 теперь возвращает новый LLD-макрос {#CON_NAME} с именем контейнера;
  • Элемент данных oracle.ts.stats Zabbix агента 2 имеет новый параметр имя_контейнера для указания имени целевого контейнера. Формат JSON возвращаемых данных был обновлён. Если в параметрах ключа не указано tablespace, тип или имя_контейнера, возвращаемые данные будут включать дополнительный уровень JSON с именем контейнера, что позволяет различать контейнеры.

Простые проверки

Элемент данных vmware.eventlog теперь поддерживает дополнительную фильтрацию по важности в третьем параметре.

Элемент данных vmware.vm.discovery теперь также возвращает данные о сетевых интерфейсах виртуальных машин. Эти данные можно использовать для настройки пользовательских интерфейсов узла сети.

Элемент данных vmware.vm.net.if.discovery теперь также возвращает массив адресов сетевых интерфейсов.

В следующие элементы данных добавлен новый параметр опции:

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

Регистрация повторяющихся Engine ID SNMPv3

Engine ID в SNMPv3 используются как уникальные идентификаторы устройства. Иногда Engine ID совпадают на нескольких устройствах из-за неправильной конфигурации или заводских настроек. Поскольку стандарты SNMP требуют, чтобы Engine ID были уникальными, элементы данных, имеющие один и тот же Engine ID, становятся в Zabbix неподдерживаемыми, что приводит к проблемам с доступностью этих устройств.

Чтобы помочь устранить такие проблемы, информация об устройствах SNMPv3, имеющих один и тот же Engine ID, теперь будет периодически регистрироваться Zabbix-сервером. Обратите внимание, что обнаружение дубликатов Engine ID отрабатывает в каждом SNMP поллере отдельно.

Удалённые команды на активных агентах

Теперь можно выполнять удалённые команды на агенте версии 7.0, работающем в активном режиме. Как только выполнение удалённой команды инициируется операцией действия или ручным выполнением скрипта, команда будет включена в конфигурацию активных проверок и выполнена, как только активный агент её получит. Обратите внимание, что старые активные агенты будут игнорировать любые удалённые команды, включённые в конфигурацию активных проверок. Дополнительную информацию смотрите в разделе Пассивные и активные проверки агента.

Поддержка обработки тегов для внутренних событий

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

Кроме того, макросы {EVENT.TAGS.<имя тега>}, {EVENT.TAGS}, {EVENT.TAGSJSON}, {EVENT.RECOVERY.TAGS}, {EVENT.RECOVERY.TAGSJSON} теперь поддерживаются для уведомлений о внутренних событиях.

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

Базы данных

Auditlog преобразован в гипертаблицу на TimescaleDB

На новых инсталляциях таблица auditlog была преобразована в гипертаблицу на TimescaleDB, чтобы использовать преимущества автоматического партиционирования по времени (по умолчанию 1 день) и повышения производительности.

Для успешного обновления существующих инсталляций смотрите Обновление схемы TimescaleDB.

Смотрите также: Поддерживаемые версии TimescaleDB.

Отдельная таблица базы данных для прокси

Записи прокси были перемещены из таблицы hosts и теперь хранятся в новой таблице proxy.

Кроме того, рабочие данные прокси (такие как время последнего доступа, версия, совместимость) были перемещены из таблицы host_rtdata и теперь хранятся в новой таблице proxy_rtdata.

Процессы

Повышен лимит на количество символов для полей настроек

Поля URL

Ограничение на количество символов для всех полей URL теперь составляет 2048 символов. Теперь это включает: URL плитки для настроек, связанных с географическими картами, URL веб-интерфейса для настройки различных параметров веб-интерфейса, URL'ы для карт сети и элементов карты сети, URL A-C для полей инвентарных данных узла сети, и URL для виджета панели URL.

Поля аутентификации

Ограничение по количеству символов для полей аутентификации Пользователь/Имя пользователя и Пароль теперь составляет 255 символов. Это относится к настройке HTTP аутентификации для элементов данных HTTP агента, веб-сценариям и коннекторам, а также к настройке аутентификации для простых проверок, ODBC мониторинга, проверок через SSH, проверок через Telnet и JMX мониторинга.

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

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

Вкладки на панелях узлов сети

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

Журнал аудита

В разделе АдминистрированиеЖурнал аудита теперь можно включать или отключать ведение журнала аудита для действий низкоуровневого обнаружения, сетевого обнаружения и авторегистрации, выполняемых сервером (пользователь System).

Период хранения записей аудита по умолчанию, до их удаления службой очистки, изменён с 365 дней на 31 день.

Фильтр последних данных

В МониторингПоследние данные подфильтр и данные больше не отображаются по умолчанию, если фильтр не установлен.

При обновлении с предыдущих версий Zabbix смотрите также: Заметки по обновлению для 7.0.0.

Минимальная необходимая версия PHP

Минимальная необходимая версия PHP увеличена с 7.4.0 до 8.0.0.

Переименованные элементы

  • Некоторые параметры виджетов панели с меткой Теги были переименованы для большей ясности: Теги элементов данных (для виджета Обзор данных), Теги сценария (для виджета Веб-мониторинг); Теги проблем (для виджетов График, Узлы сети с проблемами, Проблемы, Проблемы по важности и Обзор триггеров);
  • Ссылка на действие для редактирования содержимого карты сети, доступная из списка карт сетей в разделе МониторингКарты сетей, была переименована с Конструктор на Изменить;
  • Поля для настройки периодов хранения истории и динамики изменений в диалогах настроек элемента данных и прототипа элемента данных были переименованы;
  • В настройках виджета Топ узлов сети поля Сортировка по колонке и Количество узлов сети были переименованы в Сортировка и Лимит узлов сети для лучшего описания их функций.
  • В настройках виджета График поле легенды Отображение мин/макс/сред переименовано в Отображение мин/сред/макс, а поля наборов данных шаблон узлов сети и шаблон элементов данных переименованы в шаблоны узлов сети и шаблоны элементов данных.
  • В настройках Профиля пользователя вкладка Сообщения переименована в Оповещения веб-интерфейса, в которой опция Сообщения в веб-интерфейсе также переименована в Оповещения веб-интерфейса.

Модальные формы

Несколько диалоговых форм веб-интерфейса теперь открываются в модальных (всплывающих) окнах:

Улучшен раздел меню для топ триггеров

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

Прекращена поддержка старого числового типа.

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

Обнаружение

Упрощённое клонирование

Раньше можно было использовать опции Клонировать и Полное клонирование применительно к узлам сети, шаблонам и картам сети.

Теперь опция Клонировать удалена, а опция Полное клонирование переименована в Клонировать, сохраняя при этом всю предыдущую функциональность опции Полное клонирование.

Виджеты

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

Радиальный датчик

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

Для получения дополнительной информации смотрите Радиальный датчик.

Круговая диаграмма

К виджетам панели добавлен виджет Круговая диаграмма, позволяющий отображать значения выбранных элементов данных в виде:

  • круговой диаграммы;
  • кольцевой диаграммы.

Круговая диаграмма.

Кольцевая диаграмма.

Для получения дополнительной информации смотрите Круговая диаграмма.

В рамках этой же разработки в настройки виджета График был добавлен флажок Отображение функции агрегирования (на вкладке Легенда).

Топ триггеров

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

Более подробную информацию смотрите на странице Топ триггеров.

Сотовый график

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

Навигатор по узлам сети и Навигатор по элементам данных

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

История элементов данных и Простой текст

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

В отличие от виджета Простой текст, который отображал только последние значения элемента данных в виде простого текста, виджет История элементов данных поддерживает различные параметры отображения для нескольких типов элементов данных (числовые, символьные, журнальные, текстовые и двоичные). Например, он может отображать столбчатые диаграммы или индикаторы, изображения для двоичных типов данных (полезно для элементов данных браузера) и выделять текстовые значения (полезно для мониторинга файла журнала).

Для получения дополнительной информации смотрите страницу История элементов данных. Для получения подробной информации о замене виджета Простой текст смотрите Заметки по обновлению для 7.0.0.

Периоды времени для агрегации в виджетах «Значение элемента данных» и «Топ узлов сети»

Теперь в виджетах Значение элемента данных и Топ узлов сети можно настраивать периоды времени.

Также в виджете значения элемента данных теперь можно отображать агрегированное значение за выбранный период. Агрегированное значение может отображаться как:

  • минимум
  • максимум
  • среднее
  • количество
  • сумма
  • первое
  • последнее

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

Расширенная доступность виджетов на панелях шаблонов

Ранее на панели шаблонов можно было создавать только следующие виджеты: Часы, График (классический), Прототип графика, Значение элемента данных, Простой текст, URL.

Теперь панели шаблонов поддерживают создание всех виджетов.

Расширенная сортировка в виджете «Топ узлов сети»

Теперь в виджете Топ узлов сети, помимо сортировки по колонке с типом Значение элемента данных, можно в качестве колонки сортировки также установить колонку с типом Имя узла сети или Текст.

Функции

Новые функции

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

  • jsonpath() — возвращает результат JSONPath;
  • xmlxpath() — возвращает результат XML XPath.

См. также: Строковые функции.

Сворачиваемая расширенная настройка

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

Веб-интерфейс

Многофакторная аутентификация

Теперь для входа в Zabbix можно использовать многофакторную аутентификацию (multi-factor authentication, MFA) с использованием метода аутентификации на основе временных одноразовых паролей (Time-based One-Time Password, TOTP) или Duo Universal Prompt, что обеспечивает дополнительный уровень безопасности помимо обычного имени пользователя и пароля.

Американский формат времени

Отображение даты и времени в веб-интерфейсе теперь соответствует стандартному для США отображению даты/времени, когда используется язык интерфейса по умолчанию (en_US).

Ранее Теперь

Коммуникационный фреймворк для виджетов

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

Эта функция вносит следующие изменения:

  • Параметры Группы узлов сети, Узлы сети и Элемент данных позволяют выбирать либо соответствующие сущности, либо источник данных, предоставляющий их.
  • Параметр Разрешить выбор узла сети был заменён на параметр Переопределение узла сети, который позволяет выбирать источник данных, предоставляющий узлы сети.
  • Параметр Период времени был добавлен к нескольким виджетам, что позволяет выбирать источник данных, предоставляющий период времени.
  • Параметр Карта сети в виджете Карта сети позволяет выбирать либо карту сети, либо другой виджет в качестве источника данных для карт сети.
  • Параметр График в виджете График (классический) позволяет выбирать либо график, либо другой виджет в качестве источника данных для графиков.

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

Для информации об изменениях в стандартных шаблонах, которые поставляются с Zabbix, смотрите Изменения в шаблонах.

Расширение функциональности виджета «Доступность узлов сети»

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

Изменяющийся размер легенды в виджете «График»

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

Ссылка на документацию для каждого стандартного элемента данных

Каждый стандартный элемент данных теперь имеет прямую ссылку из веб-интерфейса на страницу документации.

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

Настраиваемые тайм-ауты для каждого элемента данных

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

Тайм-ауты, настроенные на уровне элемента данных, имеют наивысший приоритет. По умолчанию ко всем элементам данных применяются глобальные тайм-ауты; однако, если установлены тайм-ауты на уровне прокси, то они переопределят глобальные.

Автоматическая деактивация потерянных ресурсов

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

Потерянные ресурсы (узлы сети, элементы данных, триггеры) помечаются значком в столбце «Инфо». Текст подсказки предоставляет дополнительную информацию об их состоянии.

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

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

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

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

Чтобы включить ввод данных пользователем:

  • используйте макрос {MANUALINPUT} в скрипте (командах, скрипте, параметрах скрипта), где это необходимо; или в поле URL URL-скриптов;
  • в расширенной настройке скрипта включите ввод данных пользователем и настройте параметры ввода:

Если ввод данных пользователем включён, перед выполнением скрипта появится всплывающее окно Ручной ввод данных с просьбой пользователю указать предоставляемое значение. Введённое значение заменит {MANUALINPUT} в скрипте.

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

Предобработка

Расширенная обработка первопричин для неподдерживаемого состояния элемента данных

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

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

Теперь можно добавить несколько шагов предварительной обработки Проверка на неподдерживаемое значение. Обратите внимание, что шаг сопоставления «любая ошибка», проверяющего элемент данных на неподдерживаемое состояние, может быть только один в конце конвейера. Если он присутствует, то активируется, если ни одна из конкретных проверок не соответствует своему шаблону или же было перенесено (изменённое) сообщение об ошибке, т. е. не вступило в силу переопределение «Отбросить значение» или «Задать значением».

Смотрите также: Проверка на неподдерживаемое значение.

Улучшение удобства использования для массового обновления шагов предварительной обработки

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

Макросы

Пользовательские макросы поддерживаются в именах элементов данных и прототипов элементов данных

Пользовательские макросы теперь поддерживаются в именах элементов данных и прототипов элементов данных.

Обратите внимание, что поддержка пользовательских макросов в именах элементов данных и прототипов элементов данных была убрана в Zabbix 6.0. Теперь она восстановлена. Теперь также поддерживается поиск по имени элемента данных с раскрытыми макросами, что ранее не поддерживалось.

Имя элемента данных с раскрытыми макросами хранится в отдельной таблице базы данных (item_rtname), которая является расширением таблицы элементов данных. Для каждой записи в таблице элементов данных создаётся соответствующая запись в item_rtname (за исключением прототипов элементов данных, элементов данных правил обнаружения и элементов данных шаблонов). Имя с раскрытыми макросами ограничено 2048 символами.

Имя элемента данных с раскрытыми макросами отображается во всех местах веб-интерфейса, за исключением раздела Сбор данных.

Добавлен новый серверный процесс configuration syncer worker, который отвечает за раскрытие и синхронизацию значений пользовательских макросов в именах элементов данных.

Расширенная поддержка макрофункций

Макрофункции теперь поддерживаются всеми типами макросов:

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

Регулярные отчёты

Функционал регулярных отчётов больше не является экспериментальным.

Многостраничный отчёт

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

Оповещения

Значки заменены шрифтами

Все значки в веб-интерфейсе были переключены с листов изображений значков на шрифты.

Разное

  • Обновлены значки главного меню;
  • Обновлены сообщения, указывающие на отсутствие данных или неустановленные фильтры (в виджетах или всплывающих фильтрах без данных для отображения). Кроме того, удалён нижний колонтитул «Отображено 0 из 0 найденных» в случаях, когда нет данных для отображения или фильтрация (либо глобальный поиск) не выдаёт результатов;
  • Номера версий веб-интерфейса Zabbix и сервера Zabbix теперь отображаются на странице «Информация о системе»;
  • Все действия, в которых используется способ оповещения, теперь отображаются в списке способов оповещения (столбец «Использование в действиях»). Ранее действия, в которых параметр «Отправка только через» в настройках операции действия был установлен на «Все», не включались в колонку «Используется в действиях»;
  • В раздел «Последние данные» добавлена новая опция фильтрации: теперь можно фильтровать элементы по их состоянию (поддерживается/не поддерживается);
  • В раздел «Проблемы» добавлена новая опция фильтрации Состояние подтверждения: теперь можно фильтровать проблемы по их состоянию (неподтверждённые/подтверждённые/подтверждённые мной);
  • Во всплывающие окна, предназначенные для настройки и массового обновления элементов и фигур карт сети, добавлена стандартная кнопка закрытия окна;
  • Настройка прав групп пользователей и тегов для фильтрации видимых проблем была усовершенствована. Теперь можно выбирать несколько групп узлов сети/шаблонов одновременно для назначения им одинаковых прав.
  • Приглушение глобальных уведомлений в одном браузере теперь приглушает их во всех браузерах/устройствах, где пользователь вошёл в систему.
  • Параметр «Переопределение узла сети» в виджете «Значение элемента данных» для улучшения удобства использования был перемещён перед разделом «Расширенная настройка».

Плагины

Ember+

Добавлен новый плагин для непосредственного мониторинга Ember+ с помощью Zabbix агента 2.

Для получения дополнительной информации смотрите:

Установка

Отдельные пакеты установки для производных от RHEL

Для версий 8 и 9 AlmaLinux, CentOS Stream, Oracle Linux и Rocky Linux доступны собственные пакеты установки. Ранее предоставлялись единые пакеты установки для RHEL и дистрибутивов на его основе. Теперь используются отдельные пакеты для RHEL и каждого из его вышеупомянутых производных, чтобы избежать потенциальных проблем с бинарной несовместимостью.

Поддержка ARM64/AArch64

Установочные пакеты ARM64/AArch64 теперь доступны для Debian, RHEL 8, 9 и его производных, а также SLES/OpenSUSE Leap 15.