Table of Contents

5 Что нового в Zabbix 3.4.0

1 Новые панели

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

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

Многие элементы, которые ранее использовались для построения комплексных экранов, сейчас можно размещать на Панели в виде виджета. Виджеты можно давать произвольное название.

Также появились абсолютно новые виджеты:

  • Проблемы - этот виджет заменил виджет 20 последних проблем из предыдущих версий и отображает проблемы аналогично странице МониторингПроблемы
  • Дерево навигации карт сетей - этот виджет позволяет построить иерархию существующих карт сетей. Подробнее описано здесь.

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

Новая кнопка "Открыть меню действий" добавлена для редактирования панелей и доступа к административным настройкам панелей. Она включает в себя опции Создать новую, Клонировать и Просмотр. Для получения более подробной информации обратитесь к просмотр и редактирование панели и общий доступ.

Для подробных сведений смотрите:

1.1 Дерево навигации карт сетей

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

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

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

2 Шаблоны для сетевых устройств

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

3 Поддержка удаленных команд через прокси

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

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

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

Обратите внимание, что выполнение удаленных команд через прокси по умолчанию выключено. В защищенных средах (шифрование, туннели SSH, и т.п.), удаленные команды на прокси можно включить указав параметру EnableRemoteCommands значение '1'. IPMI, SSH и Telnet скрипты выполняются даже если удаленные команды выключены.

4 Массовый опрос метрик и зависимые элементы данных

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

  • Утилизация CPU по каждому ядру
  • Входящий/исходящий/общий сетевой трафик

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

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

Смотрите также: Зависимые элементы данных

5 Параллельная обработка оповещений

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

В новой версии реализована параллельная обработка оповещений. Появился новый процесс - менеджер оповещений, который может распределять оповещения по нескольким "worker" процессам, если это необходимо. Способы оповещений обрабатываются параллельно. Максимальное количество параллельных сессий можно настроить по каждому способу оповещений, но общее количество процессов оповещений на сервере можно ограничить только новым параметром StartAlerters. Оповещения, которые генерируются одним триггером, обрабатываются последовательно.

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

  • В настройках способов оповещений доступны три новые опции параллельной обработки оповещений: Одновременные сессии, Попыток и Интервал попыток:

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

6 Улучшения в оповещениях

6.1 Оповещения о подтверждении проблемы

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

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

Удаленные команды также можно выполнять по факту подтверждения проблемы.

Смотрите также:

6.2 Улучшены сообщения по умолчанию

Сообщения по умолчанию улучшены для предоставления более полезной информации:

  • Убран макрос {TRIGGER.STATUS}, так как на него не стоит полагаться в случае, если используется корреляция событий - проблема может быть решена корреляцией, тогда как триггер все еще может показывать проблему (вместо этого макроса можно использовать измененные макросы {EVENT.VALUE} and {EVENT.STATUS})
  • Узел сети обозначается при помощи {HOST.NAME} макроса
  • Заголовок оповещения о проблеме сделан более внятным, чтобы отличать его от оповещения о восстановлении.

7 Предварительная обработка значений элементов данных

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

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

7.1 Новые опции предварительной обработки

Для предварительной обработки значений добавлены несколько новых опций:

  • Регулярное выражение - поиск соответствия регулярному выражению/шаблон вывода;
  • XML XPath - извлечение значения или фрагмента из XML данных, с использованием XPath;
  • JSON Path - извлечение значения или фрагмента из JSON данных, с использованием JSONPath (поддерживается ограниченный набор функций JSONPath).

Дополнительно, опции Дельта (простое изменение) и Дельта (скорость в секунду) переименованы в Простое изменение и Изменение в секунду.

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

8 Настраиваемые JMX endpoints

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

В поле JMX endpoint поддерживаются макросы {HOST.*}, пользовательские макросы и макросы низкоуровневого обнаружения.

9 Низкоуровневое JMX обнаружение

Низкоуровневое обнаружение JMX объектов теперь поддерживается с использованием нового ключа jmx.discovery[<режим обнаружения>,<имя объекта>] элемента данных. Этот элемент данных позволяет указать будут ли обнаруживаться MBean'ы или атрибуты MBean, а так же искомый шаблон. Для получения подробной информации, смотрите раздел обнаружения JMX.

10 Библиотека PCRE для регулярных выражений

Поддержка регулярных выражений изменена с расширенной POSIX регулярных выражений на Perl совместимые регулярные выражения (PCRE) для расширения возможностей регулярных выражений и согласованности с веб-интерфейсом.

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

11 Поддержка кодирования URL-адреса в веб-мониторинге

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

11.1 Автоматическое кодирование URL-адреса

Значения переменных GET и POST заданных в шагах веб-сценария сейчас автоматически кодируются в URL-адресе. Кодирование выполняется не смотря на тип используемых данных (текст, макрос, переменная уровня сценария или комбинация перечисленного). Кодировка осуществляется до выполнения шага (данные сохраняются в декодированном виде в базу).

11.2 Гибкая кодировка URL-адреса для переменных

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

Версия Синтаксис переменной Результат
До 3.4 {user} Значение переменной передается как есть.
В 3.4 {user}
{user}
{{user}.urlencode()}
{{user}.urldecode()}
Значение переменной автоматически кодируется в Режим формы для post переменных.
Значение переменных передается как есть в Сыром виде для post переменных.
Значение переменной вручную кодируется в Сыром виде для post переменных.
Значение переменной вручную декодируется в Сыром виде для post переменных.

11.3 Поддержка юникод в именах доменов

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

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

12 Улучшения в картах сетей

Графика в картах сетей изменена с растровой на векторную SVG графику.

Другие улучшения в картах включают в себя:

  • Изменения прав доступа
  • Поддержка нескольких триггеров
  • Поддержка перетаскивания нескольких элементов
  • Поддержка копирования и вставки для нескольких элементов
  • Возможность добавления фигур и линий

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

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

Смотрите также: Настройка карты сети.

12.2 Поддержка нескольких триггеров

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

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

Смотрите также: Настройка карты сети.

12.3 Перемещение элементов

Для элементов карты сети поддержка drag-and-drop. Несколько выделенных элементов можно одновременно переместить в другое место карты, нажав на клавишу мыши и переместив курсор в желаемое место.

12.4 Копирование и вставка элементов

Элементы карты сети, если они выбраны, можно теперь скопировать и вставить в пределах одной карты сети:

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

12.5 Добавление фигур и линий

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

map_shape_menu.png

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

map_line_new.png

13 Поддержка макросов и суффиксов времени в периодах времени

Пользовательские макросы и суффиксы времени (такие как 30s, 5m, 2h, 1d, 1w) теперь поддерживаются в поле интервалов обновления элементов данных и множестве других мест, где в Zabbix задаются периоды времени. Важно отметить, что в некоторых периодах времени можно добавлять только пользовательский макрос, в тоже время в других периодах поддерживаются только суффиксы времени. Смотрите полный список поддерживаемых мест:

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

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

При разработке были изменены некоторые верхние/нижние ограничения в периодах времени. Важно отметить, Период хранения истории для элементов данных теперь может быть весьма коротким, начиная с 1 часа.

14 Макросы узлов сети поддерживаются в тегах событий

Макросы узлов сети - {HOST.HOST<1-9>}, {HOST.NAME<1-9>}, {HOST.CONN<1-9>}, {HOST.DNS<1-9>}, {HOST.IP<1-9>}, {HOST.PORT<1-9>}, {HOST.ID<1-9>} теперь поддерживаются в именах и значениях тегов, что упрощает определение тегов, которые связаны с узлами сети, на уровне шаблонов или глобальную корреляцию событий по таким узлам сети.

15 Улучшения в веб-интерфейсе

15.1 Прекращение поддержки IE9 и IE10

Поддержка Microsoft Internet Explorer 9 и Explorer 10 более не будет осуществляться.

15.2 Полное клонирование комплексных экранов и карт сетей

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

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

15.3 Единый стиль переключателей и флажков

Стиль переключателей и флажков теперь унифицирован для всех браузеров.

|<| |<| |-| |<|

15.4 Применение аналогичных прав доступа к вложенным группам узлов сети

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

15.5 Увеличены размеры полей

  • Поле SNMP OID расширено с 255 до 512 байт в настройке элемента данных, фильтре элемента данных, правиле низкоуровневого обнаружения.
  • Поле Период гибкого интервала увеличено с 255 до 1024 байт в настройке элемента данных.
  • Поле Когда активен оповещения пользователя расширено со 100 до 1024 байт.

15.6 Разное

  • Теперь можно скрыть SQL ошибки всем пользователям кроме Супер Администраторов. Для получения более подробных сведений смотрите описание ZBX_SHOW_SQL_ERRORS в определениях Zabbix веб-интерфейса.

16 Улучшения в демонах

  • Ограничение длины SNMP OID увеличено с 255 до 512 байт.
  • Ограничение размера файла SNMP трапов, который может прочитать Zabbix, увеличено с 2^31 (2 Гбайт) до 2^63 (8 Эбайт).
  • Добавлена поддержка типов AtomicBoolean, AtomicInteger и AtomicLong в Java gateway.
  • Протокол обмена данными между сервером и прокси оптимизирован, чтобы снизить количество соединений для оправки данных истории (доступность узлов сети, история элементов данных, обнаружения и авторегистрации) с прокси на сервер. Несмотря на это изменение сервер будет также принимать данные истории от 3.2 (и более старых) версий прокси, поддерживая частичную совместимость.
  • Периоды хранения внутренних, сетевого обнаружения и авторегистрации агентов событий по умолчанию снижены с 365 дней до 1 дня.
  • Длина сообщения об ошибке увеличена со 128 до 2048 символов для сообщений об ошибках триггеров и оповещений. Это изменение должно снизить вероятность обрезки сообщений об ошибках. Сообщения об ошибках можно посмотреть в НастройкаУзлы сетиТриггеры для триггеров и в ОтчетыЖурнал действий для оповещений, наведя указатель мыши на иконку ошибки.
  • Управление семафорами и разделяемой памятью переработано, чтобы устранить вероятность IPC конфликтов между Zabbix демонами, а также между Zabbix и другими приложениями.
  • Уменьшено время блокировки кэша при синхронизации конфигурации.
  • Чтобы внутренние элементы данных обрабатывались до остальных элементов данных, проверка внутренних элементов данных теперь становится в начало очереди предварительной обработки.

16.1 Сбор IPMI данных

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

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

16.2 Процесс менеджер предварительной обработки

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

16.3 Параметры конфигурации

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

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

Параметр конфигурации StartPreprocessors добавлен в файл конфигурации Zabbix сервера. Менеджер предварительной обработки представлен в этой версии, параметр StartPreprocessors определяет сколько процессов workers предварительной обработки будет запущено Zabbix сервером для предварительной обработки элементов данных.

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

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

16.4 Больше информации об ошибках потоков метрик агента

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

17 Улучшения/изменения в элементах данных

Для мониторинга размеров директорий добавлен новый элемент данных агента vfs.dir.size. Элемент данных поддерживается на UNIX и Windows платформах.

Элемент данных агента proc.num поддерживает два новых дополнительных состояния:

  • disk - процесс в ожидании непрерываемого сна диска (обычно I/O)
  • trace - процесс остановлен сигналом управления работы

Добавлен новый внутренний элемент данных zabbix[host,discovery,interfaces] для получения всех интерфейсов узла сети, которые настроены в веб-интерфейсе Zabbix. Этот элемент данных можно использовать в низкоуровневом обнаружении.

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

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

Макросы {EVENT.VALUE} и {EVENT.STATUS} изменены и сейчас возвращают (для событий типа триггер и внутренних):

  • Значение 'Проблема', если оригинальное событие всё ещё в состоянии проблема;
  • Значение 'OK', если оригинальное событие уже решено.

19 Низкоуровневое обнаружение

  • Добавлена поддержка LLD макросов в выражении прототипов триггеров в параметрах функций.
  • Добавлена поддержка LLD макросов в параметрах к функциям при использовании функций с макросами ITEM.VALUE, ITEM.LASTVALUE в именах прототипов триггеров, описаниях и тегах.
  • Добавлена поддержка LLD макросов в параметрах к функциям в простом макросе вида {узел_сети:ключ[].функция()} в имени прототипа графиков.

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

Теперь Zabbix проверяет код возврата для пользовательских параметров, удаленных команд и system.run[] элементов данных без "nowait" флага, а также при выполнении скриптов (оповещения, внешние и глобальные) Zabbix сервером. В случае ошибки в скрипте или выполняемой команде процесс Zabbix отображает описание ошибки в веб-интерфейсе, и также создает соответствующие сообщение об ошибке в журнале.

Смотрите также