Zabbix 5.0деги жаңылыктар

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

Zabbix 5.0деги жаңылыктар

Zabbix 4.2 и Zabbix 4.4

Начнем с изменений, появившихся в версии Zabbix 4.0, в связи с использованием LTS-версий.
В версии Zabbix 4.2, которая вышла в апреле 2019 года, появились следующие возможности:

  • Высокочастотный мониторинг с помощью троттлинга, который обеспечивает масштабирование и повышение NVPS, что означает более быстрое обнаружение проблем и направление оповещений без большой нагрузки на Zabbix.
  • Сбор данных с помощью HTTP-агента.
  • Поддержка сбора данных от Prometheus Pro.
  • Предобработка поддерживает валидацию и JavaScript, который позволяет трансформировать любые собираемые данные.
  • Предобработка на стороне прокси, которая обеспечивает более эффективное масштабирование с помощью прокси.
  • Улучшенное управление тегами — мета-информацией на уровне событий и проблем, с которыми удобно работать, потому что теги поддерживаются и на уровне шаблонов, и на уровне узлов сети.

В сентябре прошлого года вышла версия Zabbix 4.4, которая предлагала следующие возможности:

  • Новый Zabbix агент.
  • Поддержка Webhook для оповещений и уведомлений, что позволяет интегрироваться с внешними системами.
  • Поддержка TimescaleDB.
  • Встроенная база знаний для метрик и триггеров стала видимой для пользователей Zabbix. Например, пользователи могут использовать описание элементов данных и триггеров в Monitoring > Latest data.
  • Новый стандарт для шаблонов.

Zabbix 5.0

Сегодня мы поговорим о LTS-релизе Zabbix 5.0, который будет поддерживаться в течение 5 лет. Поддержка версии 4.4 прекращается через один месяц. LTS-релиз Zabbix 3.0 будет поддерживаться еще 3,5 года.

Zabbix обеспечивает мониторинг многих вещей, список которых можно уточнить на странице http://www.zabbix.com/integrations, где представлены шаблоны для мониторинга и плагины, в том числе для нового агента.

Zabbix 5.0деги жаңылыктар
Доступные шаблоны для мониторинга и интеграции

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

Zabbix 5.0деги жаңылыктар
Возможности интеграции

В Zabbix 5.0 расширена встроенная поддержка для интеграции с различными системами тикетов, а также системами оповещений:

Zabbix 5.0деги жаңылыктар
Интеграция с различными системами

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

Zabbix 5.0деги жаңылыктар
Встроенные шаблоны для мониторинга приложений и устройств

Все обновления доступны для скачивания в Git repository.

Любой пользователь или разработчик может участвовать в Zabbix с готовыми наработками — шаблонами или плагинами, воспользовавшись простой процедурой:

  1. Подписание Zabbix Contributory Agreement (ZCA) на https://www.zabbix.com/developers.
  2. Размещение Pull Request на https://git.zabbix.com.
  3. Рассмотрение заявки командой разработчиков. Если плагин или шаблон соответствует стандартам Zabbix, он включается в продукт, и работа такого разработчика будет официально поддерживаться командой Zabbix.

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

Разработчики Zabbix предлагают пакеты для практически всех наиболее популярных дистрибутивов и различных платформ виртуализации. Кроме того, Zabbix с помощью одного клика мыши можно установить в публичном облаке. Zabbix также доступен на платформах Red Hat Openshift или OpenStack.

Zabbix 5.0деги жаңылыктар
Пакеты Zabbix для дистрибутивов и платформ

Поддержка Zabbix Agent 2 для Windows и Linux

Новый Zabbix Agent 2 — одно из лучших решений на рынке.

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

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

Zabbix 5.0деги жаңылыктар
Туруктуу маалыматтарды сактоо

Это важно в случае мониторинга критических систем и нестабильных коммуникаций, поскольку большое количество важнейших данных сохраняется до отправки на Zabbix сервер. Опция также полезна для спутниковых соединений, которые могут быть недоступны в течение длительного времени.
МААНИЛҮҮ! В Zabbix 5.0 сохранена поддержка Zabbix Agent 1.

Изменения в системе безопасности в Zabbix 5.0

1. В новой версии поддерживается HTTP-прокси для webhook, который позволяет выполнять соединения с Zabbix сервера на внешние системами оповещения более безопасным и управляемым образом.

Если необходима интеграция Zabbix-сервера в локальной сети с внешней системой, наример, JIRA в облаке, можно поддерживать соединение через HTTP-прокси, что улучшает контролируемость и надежность соединения.

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

  • Whitelist for MySQL related checks
    AllowKey=mysql[*] 
    DenyKey=*
  • Blacklist to deny all shell scripts
    DenyKey=system.run[*]
  • Blacklist to deny access to /etc/password
    DenyKey=vfs.file.contents[/etc/passwd,*]

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

Zabbix 5.0деги жаңылыктар
Выбор алгоритмов шифрования для TLS-соединений

4. В Zabbix 5.0 появилась поддержка шифрованных соединений с базой данных. На данный момент доступно только шифрованное соединение с PostgreSQL и MySQL.

Zabbix 5.0деги жаңылыктар
Шифрованные соединения с базой данных

5. Zabbix 5.0 перешел с MD5 на SHA256 для хранения хэшей паролей пользователей в базе данных, поскольку на данный момент это наиболее безопасный алгоритм.

6. Zabbix 5.0 поддерживает секретные пользовательские макросы для хранения любой конфиденциальной информации, такой как пароли и API токены, к которой не имеют доступа конечные пользователи.

Zabbix 5.0деги жаңылыктар
Секретные макросы

7. Все соединения Zabbix с внешними системами и внутренние соединения с агентами являются безопасными. Поддерживается шифрование с использованием TLS сертификатов, либо с использованием предварительно опубликованного ключа (pre-shared key encryption) для соединения с агентами и c прокси, либо HTTPS. Безопасность на стороне агентов можно усиливать за счет белых и черных списков. Интерфейс работает через HTTPS.

Zabbix 5.0деги жаңылыктар
Безопасные соединения

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

Zabbix 5.0деги жаңылыктар
SAML-идентификация

Поддержка SAML позволяет интегрировать Zabbix с различными локальными и облачными поставщиками идентификационных услуг, такими как Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, а также Azure, AWS или Google Cloud Platform.

Удобство использования Zabbix 5.0

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

Zabbix 5.0деги жаңылыктар
Интерфейс, оптимизированный для широкого экрана

2. Копирование виджетов с панелей позволяет очень быстро создавать новые ПАНЕЛИ. Для этого в ПАНЕЛИ необходимо выбрать нужный виджет, нажать Copy

Zabbix 5.0деги жаңылыктар
Копирование виджета

и вставить виджет в нужную панель.

Zabbix 5.0деги жаңылыктар
Вставка скопированного виджета

3. Экспорт графиков. Чтобы скопировать график и отправить, например, по электронной почтe, можно получить график в формате PNG, выбрав нужный виджет и нажав Сүрөттү жүктөө.

Zabbix 5.0деги жаңылыктар
Экспорт графиков

4. Фильтрация по тегам: Problem by severity и Problem hosts. Появилась возможность, например, собрать в одном дата-центре данные по всем проблемам, связанным с одним узлом сети.

Zabbix 5.0деги жаңылыктар
Тегдер боюнча чыпкалоо

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

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

Zabbix 5.0деги жаңылыктар
Добавление нового модуля

6. Простота навигации по ресурсам, связанным с узлами сети. The Monitoring > Hosts отображается список устройств, которые мониторит Zabbix: узлы сети, сервисы, сетевые устройства и т. д. Кроме того, доступна быстрая навигация к экранам, графикам и проблемам конкретных устройств.

Мы убрали вкладки Monitoring > Graphs и Monitoring > Webs, и вся навигация осуществляется через Monitoring > Hosts. Отображаемую информацию можно фильтровать, в том числе, по тегам, что позволяет отображать отключенные устройства

Zabbix 5.0деги жаңылыктар
Навигация по ресурсам, связанным с узлами сети

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

Zabbix 5.0деги жаңылыктар
Возможности фильтрации

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

Zabbix 5.0деги жаңылыктар
Оператор Replace

8. Оператор JSONPath, который позволяет извлекать имена атрибутов в удобной форме

Zabbix 5.0деги жаңылыктар
Оператор для JSONPath

9. Отображение сообщений электронной почты Zabbix. В предыдущих версиях все сообщения электронной почты от Zabbix в папке Кирүү кутусу отображались списком. Начиная с Zabbix 5.0 сообщения будут группироваться по проблемам.

Zabbix 5.0деги жаңылыктар
Группировка сообщений электронной почты от Zabbix

10. Поддержка пользовательских макросов для IPMI для имени пользователя и пароля. Если для имени пользователя и пароля используются секретные макросы, доступ к их значению будет закрыт.

Zabbix 5.0деги жаңылыктар
Поддержка пользовательских макросов

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

Zabbix 5.0деги жаңылыктар
Добавление и изменение пользовательских макросов

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

Zabbix 5.0деги жаңылыктар
Удаление отдельных или всех пользовательских макросов

12. Контроль формата сообщений на уровне способа оповещения. The Медиа түрлөрү появилась вкладка Media templates с шаблонами сообщений.

Zabbix 5.0деги жаңылыктар
Шаблоны способов оповещений

Для разных типов сообщений можно определить различные шаблоны.

Zabbix 5.0деги жаңылыктар
Определение шаблона для типа сообщений

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

Zabbix 5.0деги жаңылыктар
Управление шаблонами на уровне действий

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

Zabbix 5.0деги жаңылыктар
Управление шаблонами на глобальном уровне

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

13. Более широкое применение JavaScript. JavaScript используется для скриптов предобработки, для Webhook и т.д. В командной строке, работать с JavaScript непросто.
В Zabbix 5.0 используется новая утилита — zabbix_js, запускающая JavaScript, который принимает данные, обрабатывает их и генерирует выходные значения.

Zabbix 5.0деги жаңылыктар
Утилита zabbix_js

Zabbix 5.0деги жаңылыктар
Примеры использования утилиты zabbix_js

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

{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}

cравнивать последнее значение с предыдущим, например, когда речь идет о текстовых данных,

{host:text.last()}<>{host.text.prev()}

же

{host:text.last(#1)}<>{host.text.prev(#2)}

или сравнивать текстовые значения различных метрик.

{hostA:textA.last()}={hostB:textB.last()}

15. Автоматизация и обнаружение.

  • Доступны новые проверки JMX для получения и обнаружения списка счетчиков JMX, что очень полезно, например, для мониторинга Java-приложений, а также для автоматизации создания элементов мониторинга, метрик, триггеров и графиков.
    jmx.get[]

    и

    jmx.discovery[]

    Zabbix 5.0деги жаңылыктар
    Проверки JMX

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

    Zabbix 5.0деги жаңылыктар
    Мониторинг счетчиков производительности Windows с помощью ключа perf_counter

  • ODBC-мониторинг стал намного проще. Ранее все параметры для ODBC-мониторинга приходилось описывать во внешнем файле /etc/odbc.ini, к которому не было доступа со стороны интерфейса Zabbix. В новой версии практически все параметры могут быть частью ключа метрики.

    Zabbix 5.0деги жаңылыктар
    Ключ метрики с описанием параметров

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

    Zabbix 5.0деги жаңылыктар
    Использование секретных макросов

  • При использовании протокола IPMI для мониторинга оборудования появилась возможность создавать более простые шаблоны для автоматизации с помощью ipmi.get.

    Zabbix 5.0деги жаңылыктар
    ipmi.get

16. Тестирование элементов данных из интерфейса. В Zabbix 5.0 появилась возможность тестирования некоторых элементов данных и, что еще более важно, шаблонов элементов данных из интерфейса.

Zabbix 5.0деги жаңылыктар
Тестирование элементов данных

Любые возникающие проблемы отображаются в интерфейсе.

Zabbix 5.0деги жаңылыктар
Отображение проблем в интерфейсе

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

17. Тестирование способов оповещения, которое появилось в Zabbix 4.4, сохраняется, что важно при интеграции Zabbix с другими системами, например, системами тикетов.

Zabbix 5.0деги жаңылыктар
Тестирование способов оповещения

18. Поддержка пользовательских макросов для прототипов элементов данных. Для определения значений пользовательских макросов можно использовать LLD-макросы.

Zabbix 5.0деги жаңылыктар
Использование LLD-макросов для определения значений пользовательских макросов

19. Поддержка данных Float64, которые необходимы, в основном, для мониторинга очень больших значений, в Zabbix требуется для поддержки данных получаемых от агентов Prometheus.
В случае установки Zabbix 5.0 автоматическая миграция данных на стандарт Float64 не происходит. У пользователя остается возможность использовать старые типы данных. Скрипты миграции на Float64 запускаются вручную и меняют типы данных в исторических таблицах. Автоматическая замена не используется, поскольку занимает очень длительное время.

20. Улучшение масштабируемости Zabbix 5.0: оптимизация интерфейса и устранение «узких мест»

  • Устранены раскрывающиеся списки, например, для выбора узлов сети, потому что эта функция не масштабируется.
  • Появились «встроенные» лимиты для размеров таблиц жалпы көрүнүш.
  • Появились новые возможности в Monitoring > Hosts > Graphs.
  • Появилась функция paging (Monitoring > Hosts > Web) там, где её не было.

21. Улучшенная компрессия
Компрессия в Zabbix основана на расширении для PostgreSQL — TimescaleDB (начиная с Zabbix 4.4). TimescaleDB обеспечивет автоматическое секционирование базы данных и повышает её производительность, поскольку производительность TimescaleDB фактически не зависит от размера базы данных.

В Zabbix 5.0 в Administration > General > Housekeeping можно настроить, например, компрессию данных старше 7 дней. Это значительно сокращает требуемое место на диске (почти в десять раз, по данным пользователей), что улучшает экономию дискового пространства и повышает производительность.

Zabbix 5.0деги жаңылыктар
Компрессия с помощью TimescaleDB

22. Настройка SNMP на уровне интерфейса. В Zabbix 5.0 вместо трех типов элементов данных используется только один — SNMP agent. Все атрибуты SNMP перенесены на уровень интерфейса узлов сети, что позволяет упростить шаблоны, переключение между версиями SNMP и т. д.

Zabbix 5.0деги жаңылыктар
Настройка SNMP на уровне интерфейса

23. Зависимость мониторинга доступности узлов сети от доступности прокси позволяет отображать проблему доступности прокси как первоочередную в случае недоступности узлов сети при мониторинге с использованием триггера с функцией nodata:

{HostA:item.nodata(1m)}=1

Zabbix 5.0деги жаңылыктар
Доступность узлов сети определяется доступностью прокси

милдети nodata по умолчанию принимает во внимание доступность прокси. Для более строгой проверки, не принимающей во внимание доступность прокси, используется второй параметр — катуу:

{HostA:item.nodata(1m,strict)}=1

24. Управление правилами низкоуровневого обнаружения. В Zabbix 5.0 появился LLD-фильтр, который позволяет просматривать в том числе неподдерживаемые правила обнаружения

Zabbix 5.0деги жаңылыктар
LLD-фильтр

25. Возможность снять подтверждение проблемы (unacknowledge) позволяет исправлять ошибки и полезна при создании рабочих процессов, зависящих от подтверждения проблемы.

Zabbix 5.0деги жаңылыктар
Снятие подтверждения проблемы

26. Изменение правил низкоуровневого обнаружения —возможность добавления исключений при обнаружении объектов в результате мониторинга файловых систем, которая позволяет при низкоуровнем обнаружении создавать или не создавать определенные объекты, триггеры, элементы данных и т.д., менять важность проблем, добавлять теги для определенных объектов, исключать объекты, например, временные файловые системы, из поиска, менять интервал обновления данных и т.д.

Zabbix 5.0деги жаңылыктар
Исключение из низкоуровневого обнаружения временных файловых систем

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

Zabbix 5.0деги жаңылыктар
Изменение уровеня приоритетности триггеров для отдельны файловых систем

27. Новые макросы в Zabbix 5.0 позволяют повысить качество мониторинга.

Zabbix 5.0деги жаңылыктар
Новые макросы в Zabbix 5.0

28. Другие нововведения в Zabbix 5.0:

Zabbix 5.0деги жаңылыктар
Улучшения в Zabbix 5.0

29. Прекращение поддержки
Zabbix 5.0деги жаңылыктар
Неподдерживаемая функциональность

жыйынтыктоо

Обновиться до Zabbix 5.0 очень просто! Устанавливайте и запускайте новые бинарные файлы для сервера и frontend-файлы, и сервер автоматически обновит вашу базу данных.
Информация о процедуре обновления Zabbix размещена по адресу:
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500

МААНИЛҮҮ!

  1. Обновление исторических данных до формата Float64 необязательно.
  2. Данные TimescaleDB доступны только для чтения.
  3. Минимальная требуемая версия PHP7.2.
  4. DB2 не поддерживается как backend для Zabbix сервера

(!) Видео и слайды презентаций Алексея Владышева и других спикеров Zabbix Meetup Online (Russian) можно посмотреть бул жерде.

Source: www.habr.com

Комментарий кошуу